Update documentation.
[m6w6/libmemcached] / docs / libmemcached_configuration.rst
1 ========================
2 Configuring Libmemcached
3 ========================
4
5 .. index:: object: memcached_st
6
7 --------
8 SYNOPSIS
9 --------
10
11 #include <libmemcached/memcached.h>
12
13 .. c:function:: memcached_st *memcached(const char *string, size_t string_length)
14
15 .. c:function:: memcached_return_t libmemcached_check_configuration(const char *option_string, size_t length, char *error_buffer, size_t error_buffer_size)
16
17 Compile and link with -lmemcached
18
19
20
21 -----------
22 DESCRIPTION
23 -----------
24
25 Libmemcached implements a custom language for configuring and modifying
26 servers. By passing in an option string you can generate a memcached_st object
27 that you can use in your application directly.
28
29 .. describe:: --SERVER=<servername>:<optional_port>/?<optional_weight>
30
31 Provide a servername to be used by the client. Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1.
32
33 .. describe:: --VERIFY-KEY
34
35 Verify that keys that are being used fit within the design of the protocol being used.
36
37 .. describe:: --REMOVE_FAILED_SERVERS
38
39 Enable the behavior MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS.
40
41 .. describe:: --BINARY-PROTOCOL
42
43 Force all connections to use the binary protocol.
44
45 .. describe:: --BUFFER-REQUESTS
46
47 Enable MEMCACHED_BEHAVIOR_BUFFER_REQUESTS.
48
49 .. describe:: --CONFIGURE-FILE=
50
51 Provide a configuration file to be used to load requests. Beware that by using a configuration file libmemcached will reset memcached_st based on information only contained in the file.
52
53 .. describe:: --CONNECT-TIMEOUT=
54
55 Enable MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT.
56
57 .. describe:: --DISTRIBUTION=
58
59 Set the distribution model used by the client. See :manpage:`` for more details.
60
61 .. describe:: --HASH=
62
63 Set the hashing alogrthm used for placing keys on servers.
64
65 .. describe:: --HASH-WITH-NAMESPACE
66
67 When enabled the prefix key will be added to the key when determining which
68 server to store the data in.
69
70 .. describe:: --NOREPLY
71
72 Enable "no reply" for all calls that support this. It is highly recommended
73 that you use this option with the binary protocol only.
74
75 .. describe:: --NUMBER-OF-REPLICAS=
76
77 Set the nummber of servers that keys will be replicated to.
78
79 .. describe:: --RANDOMIZE-REPLICA-READ
80
81 Select randomly the server within the replication pool to read from.
82
83 .. describe:: --SORT-HOSTS
84
85 When adding new servers always calculate their distribution based on sorted naming order.
86
87 .. describe:: --SUPPORT-CAS
88
89 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SUPPORT_CAS
90
91 .. describe:: --USE-UDP
92
93 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_USE_UDP
94
95 .. describe:: --NAMESPACE=
96
97 A namespace is a container that provides context for keys, only other
98 requests that know the namespace can access these values. This is
99 accomplished by prepending the namespace value to all keys.
100
101
102 **********************
103 Mecached Pool Options:
104 **********************
105
106 .. describe:: --POOL-MIN
107
108 Initial size of pool.
109
110 .. describe:: --POOL-MAX
111
112 Maximize size of the pool.
113
114 ************
115 I/O Options:
116 ************
117
118 .. describe:: --TCP-NODELAY
119
120 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_NODELAY
121
122 .. describe:: --TCP-KEEPALIVE
123
124 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE
125
126 .. describe:: --RETRY-TIMEOUT=
127
128 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_RETRY_TIMEOUT
129
130 .. describe:: --SERVER-FAILURE-LIMIT=
131
132 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT
133
134 .. describe:: --SND-TIMEOUT=
135
136 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SND_TIMEOUT
137
138 .. describe:: --SOCKET-RECV-SIZE=
139
140 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE
141
142 .. describe:: --SOCKET-SEND-SIZE=
143
144 See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE
145
146 .. describe:: --POLL-TIMEOUT=
147
148 That sets the value of the timeout used by :manpage: `poll()`.
149
150 .. describe:: --IO-BYTES-WATERMARK=
151
152 .. describe:: --IO-KEY-PREFETCH=
153
154 .. describe:: --IO-MSG-WATERMARK=
155
156 .. describe:: --TCP-KEEPIDLE
157
158 .. describe:: --RCV-TIMEOUT=
159
160
161
162 ******
163 Other:
164 ******
165
166
167 .. describe:: INCLUDE
168
169 Include a file in configuration. Unlike --CONFIGURE-FILE= this will not reset memcached_st
170
171 .. describe:: RESET
172
173 Reset memcached_st and continue to process.
174
175 .. describe:: END
176
177 End configutation processing.
178
179 .. describe:: ERROR
180
181 End configutation processing and throw an error.
182
183
184 ------
185 RETURN
186 ------
187
188
189 memcached() returns a pointer to the memcached_st that was
190 created (or initialized). On an allocation failure, it returns NULL.
191
192
193
194 -------
195 EXAMPLE
196 -------
197
198
199 .. code-block:: c
200
201 const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
202 memcached_st *memc= memcached(config_string, strlen(config_string);
203 {
204 ...
205 }
206 memcached_free(memc);
207
208
209
210 ----
211 HOME
212 ----
213
214
215 To find out more information please check:
216 `http://libmemcached.org/ <http://libmemcached.org/>`_
217
218
219
220 --------
221 SEE ALSO
222 --------
223
224
225 :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`