update docs
[m6w6/libmemcached] / memcached_cas.html
1
2
3 <!DOCTYPE html>
4 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6 <head>
7 <meta charset="utf-8">
8
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11 <title>Working with data on the server in an atomic fashion &mdash; libmemcached 1.0.99 documentation</title>
12
13
14
15
16
17
18
19
20 <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
21
22
23 <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
24 <script src="_static/jquery.js"></script>
25 <script src="_static/underscore.js"></script>
26 <script src="_static/doctools.js"></script>
27 <script src="_static/language_data.js"></script>
28
29 <script type="text/javascript" src="_static/js/theme.js"></script>
30
31
32
33
34 <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
35 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
36 <link rel="index" title="Index" href="genindex.html" />
37 <link rel="search" title="Search" href="search.html" />
38 <link rel="copyright" title="Copyright" href="copyright.html" />
39 <link rel="next" title="Set encryption key" href="libmemcached-1.0/memcached_set_encoding_key.html" />
40 <link rel="prev" title="Appending or Prepending to data on the server" href="memcached_append.html" />
41 </head>
42
43 <body class="wy-body-for-nav">
44
45
46 <div class="wy-grid-for-nav">
47
48 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49 <div class="wy-side-scroll">
50 <div class="wy-side-nav-search" >
51
52
53
54 <a href="index.html" class="icon icon-home"> libmemcached
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 1.0
65 </div>
66
67
68
69
70 <div role="search">
71 <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
72 <input type="text" name="q" placeholder="Search docs" />
73 <input type="hidden" name="check_keywords" value="yes" />
74 <input type="hidden" name="area" value="default" />
75 </form>
76 </div>
77
78
79 </div>
80
81 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
83
84
85
86
87
88 <p class="caption"><span class="caption-text">Basics</span></p>
89 <ul>
90 <li class="toctree-l1"><a class="reference internal" href="libmemcached.html">Introducing the C Client Library for memcached</a><ul>
91 <li class="toctree-l2"><a class="reference internal" href="libmemcached.html#synopsis">SYNOPSIS</a></li>
92 <li class="toctree-l2"><a class="reference internal" href="libmemcached.html#description">DESCRIPTION</a></li>
93 <li class="toctree-l2"><a class="reference internal" href="libmemcached.html#constants">CONSTANTS</a></li>
94 <li class="toctree-l2"><a class="reference internal" href="libmemcached.html#threads-and-processes">THREADS AND PROCESSES</a></li>
95 <li class="toctree-l2"><a class="reference internal" href="libmemcached.html#see-also">SEE ALSO</a></li>
96 </ul>
97 </li>
98 <li class="toctree-l1"><a class="reference internal" href="versioning.html">Versioning</a></li>
99 <li class="toctree-l1"><a class="reference internal" href="memcached_create.html">Creating and destroying a memcached_st</a><ul>
100 <li class="toctree-l2"><a class="reference internal" href="memcached_create.html#synopsis">SYNOPSIS</a></li>
101 <li class="toctree-l2"><a class="reference internal" href="memcached_create.html#description">DESCRIPTION</a></li>
102 <li class="toctree-l2"><a class="reference internal" href="memcached_create.html#return">RETURN</a></li>
103 <li class="toctree-l2"><a class="reference internal" href="memcached_create.html#see-also">SEE ALSO</a></li>
104 </ul>
105 </li>
106 <li class="toctree-l1"><a class="reference internal" href="libmemcached_examples.html">Examples</a><ul>
107 <li class="toctree-l2"><a class="reference internal" href="libmemcached_examples.html#description">DESCRIPTION</a></li>
108 <li class="toctree-l2"><a class="reference internal" href="libmemcached_examples.html#connecting-to-servers">Connecting to servers</a></li>
109 <li class="toctree-l2"><a class="reference internal" href="libmemcached_examples.html#creating-a-pool-of-servers">Creating a pool of servers</a></li>
110 <li class="toctree-l2"><a class="reference internal" href="libmemcached_examples.html#adding-a-value-to-the-server">Adding a value to the server</a></li>
111 <li class="toctree-l2"><a class="reference internal" href="libmemcached_examples.html#fetching-multiple-values">Fetching multiple values</a></li>
112 <li class="toctree-l2"><a class="reference internal" href="libmemcached_examples.html#see-also">SEE ALSO</a></li>
113 </ul>
114 </li>
115 <li class="toctree-l1"><a class="reference internal" href="libmemcached_configuration.html">Configuring Libmemcached</a><ul>
116 <li class="toctree-l2"><a class="reference internal" href="libmemcached_configuration.html#synopsis">SYNOPSIS</a></li>
117 <li class="toctree-l2"><a class="reference internal" href="libmemcached_configuration.html#description">DESCRIPTION</a></li>
118 <li class="toctree-l2"><a class="reference internal" href="libmemcached_configuration.html#environment">ENVIRONMENT</a></li>
119 <li class="toctree-l2"><a class="reference internal" href="libmemcached_configuration.html#return">RETURN</a></li>
120 <li class="toctree-l2"><a class="reference internal" href="libmemcached_configuration.html#example">EXAMPLE</a></li>
121 <li class="toctree-l2"><a class="reference internal" href="libmemcached_configuration.html#see-also">SEE ALSO</a></li>
122 </ul>
123 </li>
124 <li class="toctree-l1"><a class="reference internal" href="libmemcached/memcached_last_error_message.html">Retrieving errors</a><ul>
125 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_last_error_message.html#synopsis">SYNOPSIS</a></li>
126 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_last_error_message.html#description">DESCRIPTION</a></li>
127 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_last_error_message.html#return">RETURN</a></li>
128 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_last_error_message.html#see-also">SEE ALSO</a></li>
129 </ul>
130 </li>
131 </ul>
132 <p class="caption"><span class="caption-text">Working with Data</span></p>
133 <ul class="current">
134 <li class="toctree-l1"><a class="reference internal" href="memcached_auto.html">Incrementing and Decrementing Values</a><ul>
135 <li class="toctree-l2"><a class="reference internal" href="memcached_auto.html#synopsis">SYNOPSIS</a></li>
136 <li class="toctree-l2"><a class="reference internal" href="memcached_auto.html#description">DESCRIPTION</a></li>
137 <li class="toctree-l2"><a class="reference internal" href="memcached_auto.html#return">RETURN</a></li>
138 <li class="toctree-l2"><a class="reference internal" href="memcached_auto.html#see-also">SEE ALSO</a></li>
139 </ul>
140 </li>
141 <li class="toctree-l1"><a class="reference internal" href="memcached_delete.html">Deleting data from a server</a><ul>
142 <li class="toctree-l2"><a class="reference internal" href="memcached_delete.html#synopsis">SYNOPSIS</a></li>
143 <li class="toctree-l2"><a class="reference internal" href="memcached_delete.html#description">DESCRIPTION</a></li>
144 <li class="toctree-l2"><a class="reference internal" href="memcached_delete.html#return">RETURN</a></li>
145 <li class="toctree-l2"><a class="reference internal" href="memcached_delete.html#see-also">SEE ALSO</a></li>
146 </ul>
147 </li>
148 <li class="toctree-l1"><a class="reference internal" href="libmemcached/memcached_exist.html">Determine if a keys exists.</a><ul>
149 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_exist.html#synopsis">SYNOPSIS</a></li>
150 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_exist.html#description">DESCRIPTION</a></li>
151 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_exist.html#return">RETURN</a></li>
152 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_exist.html#see-also">SEE ALSO</a></li>
153 </ul>
154 </li>
155 <li class="toctree-l1"><a class="reference internal" href="memcached_flush_buffers.html">Flushing client buffers</a><ul>
156 <li class="toctree-l2"><a class="reference internal" href="memcached_flush_buffers.html#synopsis">SYNOPSIS</a></li>
157 <li class="toctree-l2"><a class="reference internal" href="memcached_flush_buffers.html#description">DESCRIPTION</a></li>
158 <li class="toctree-l2"><a class="reference internal" href="memcached_flush_buffers.html#return">RETURN</a></li>
159 <li class="toctree-l2"><a class="reference internal" href="memcached_flush_buffers.html#see-also">SEE ALSO</a></li>
160 </ul>
161 </li>
162 <li class="toctree-l1"><a class="reference internal" href="memcached_flush.html">Wiping clean the contents of a server</a><ul>
163 <li class="toctree-l2"><a class="reference internal" href="memcached_flush.html#synopsis">SYNOPSIS</a></li>
164 <li class="toctree-l2"><a class="reference internal" href="memcached_flush.html#description">DESCRIPTION</a></li>
165 <li class="toctree-l2"><a class="reference internal" href="memcached_flush.html#return">RETURN</a></li>
166 <li class="toctree-l2"><a class="reference internal" href="memcached_flush.html#see-also">SEE ALSO</a></li>
167 </ul>
168 </li>
169 <li class="toctree-l1"><a class="reference internal" href="memcached_get.html">Retrieving data from the server</a><ul>
170 <li class="toctree-l2"><a class="reference internal" href="memcached_get.html#synopsis">SYNOPSIS</a></li>
171 <li class="toctree-l2"><a class="reference internal" href="memcached_get.html#description">DESCRIPTION</a></li>
172 <li class="toctree-l2"><a class="reference internal" href="memcached_get.html#return">RETURN</a></li>
173 <li class="toctree-l2"><a class="reference internal" href="memcached_get.html#see-also">SEE ALSO</a></li>
174 </ul>
175 </li>
176 <li class="toctree-l1"><a class="reference internal" href="memcached_result_st.html">Working with result sets</a><ul>
177 <li class="toctree-l2"><a class="reference internal" href="memcached_result_st.html#synopsis">SYNOPSIS</a></li>
178 <li class="toctree-l2"><a class="reference internal" href="memcached_result_st.html#description">DESCRIPTION</a></li>
179 <li class="toctree-l2"><a class="reference internal" href="memcached_result_st.html#return">RETURN</a></li>
180 <li class="toctree-l2"><a class="reference internal" href="memcached_result_st.html#see-also">SEE ALSO</a></li>
181 </ul>
182 </li>
183 <li class="toctree-l1"><a class="reference internal" href="memcached_set.html">Store, replace, add, or atomically add data to the server</a><ul>
184 <li class="toctree-l2"><a class="reference internal" href="memcached_set.html#synopsis">SYNOPSIS</a></li>
185 <li class="toctree-l2"><a class="reference internal" href="memcached_set.html#description">DESCRIPTION</a></li>
186 <li class="toctree-l2"><a class="reference internal" href="memcached_set.html#return">RETURN</a></li>
187 <li class="toctree-l2"><a class="reference internal" href="memcached_set.html#see-also">SEE ALSO</a></li>
188 </ul>
189 </li>
190 <li class="toctree-l1"><a class="reference internal" href="memcached_append.html">Appending or Prepending to data on the server</a><ul>
191 <li class="toctree-l2"><a class="reference internal" href="memcached_append.html#synopsis">SYNOPSIS</a></li>
192 <li class="toctree-l2"><a class="reference internal" href="memcached_append.html#description">DESCRIPTION</a></li>
193 <li class="toctree-l2"><a class="reference internal" href="memcached_append.html#return">RETURN</a></li>
194 <li class="toctree-l2"><a class="reference internal" href="memcached_append.html#see-also">SEE ALSO</a></li>
195 </ul>
196 </li>
197 <li class="toctree-l1 current"><a class="current reference internal" href="#">Working with data on the server in an atomic fashion</a><ul>
198 <li class="toctree-l2"><a class="reference internal" href="#synopsis">SYNOPSIS</a></li>
199 <li class="toctree-l2"><a class="reference internal" href="#description">DESCRIPTION</a></li>
200 <li class="toctree-l2"><a class="reference internal" href="#return">RETURN</a></li>
201 <li class="toctree-l2"><a class="reference internal" href="#see-also">SEE ALSO</a></li>
202 </ul>
203 </li>
204 </ul>
205 <p class="caption"><span class="caption-text">Advanced Topics</span></p>
206 <ul>
207 <li class="toctree-l1"><a class="reference internal" href="libmemcached-1.0/memcached_set_encoding_key.html">Set encryption key</a><ul>
208 <li class="toctree-l2"><a class="reference internal" href="libmemcached-1.0/memcached_set_encoding_key.html#synopsis">SYNOPSIS</a></li>
209 <li class="toctree-l2"><a class="reference internal" href="libmemcached-1.0/memcached_set_encoding_key.html#description">DESCRIPTION</a></li>
210 <li class="toctree-l2"><a class="reference internal" href="libmemcached-1.0/memcached_set_encoding_key.html#return">RETURN</a></li>
211 <li class="toctree-l2"><a class="reference internal" href="libmemcached-1.0/memcached_set_encoding_key.html#see-also">SEE ALSO</a></li>
212 </ul>
213 </li>
214 <li class="toctree-l1"><a class="reference internal" href="memcached_behavior.html">Modifying how the driver behaves</a><ul>
215 <li class="toctree-l2"><a class="reference internal" href="memcached_behavior.html#synopsis">SYNOPSIS</a></li>
216 <li class="toctree-l2"><a class="reference internal" href="memcached_behavior.html#description">DESCRIPTION</a></li>
217 <li class="toctree-l2"><a class="reference internal" href="memcached_behavior.html#return">RETURN</a></li>
218 <li class="toctree-l2"><a class="reference internal" href="memcached_behavior.html#notes">NOTES</a></li>
219 <li class="toctree-l2"><a class="reference internal" href="memcached_behavior.html#see-also">SEE ALSO</a></li>
220 </ul>
221 </li>
222 <li class="toctree-l1"><a class="reference internal" href="memcached_callback.html">Setting callbacks</a><ul>
223 <li class="toctree-l2"><a class="reference internal" href="memcached_callback.html#synopsis">SYNOPSIS</a></li>
224 <li class="toctree-l2"><a class="reference internal" href="memcached_callback.html#description">DESCRIPTION</a></li>
225 <li class="toctree-l2"><a class="reference internal" href="memcached_callback.html#return">RETURN</a></li>
226 <li class="toctree-l2"><a class="reference internal" href="memcached_callback.html#see-also">SEE ALSO</a></li>
227 </ul>
228 </li>
229 <li class="toctree-l1"><a class="reference internal" href="memcached_dump.html">Dumping data from a server</a><ul>
230 <li class="toctree-l2"><a class="reference internal" href="memcached_dump.html#synopsis">SYNOPSIS</a></li>
231 <li class="toctree-l2"><a class="reference internal" href="memcached_dump.html#description">DESCRIPTION</a></li>
232 <li class="toctree-l2"><a class="reference internal" href="memcached_dump.html#return">RETURN</a></li>
233 <li class="toctree-l2"><a class="reference internal" href="memcached_dump.html#see-also">SEE ALSO</a></li>
234 </ul>
235 </li>
236 <li class="toctree-l1"><a class="reference internal" href="memcached_generate_hash_value.html">Generating hash values directly</a><ul>
237 <li class="toctree-l2"><a class="reference internal" href="memcached_generate_hash_value.html#synopsis">SYNOPSIS</a></li>
238 <li class="toctree-l2"><a class="reference internal" href="memcached_generate_hash_value.html#description">DESCRIPTION</a></li>
239 <li class="toctree-l2"><a class="reference internal" href="memcached_generate_hash_value.html#return">RETURN</a></li>
240 <li class="toctree-l2"><a class="reference internal" href="memcached_generate_hash_value.html#see-also">SEE ALSO</a></li>
241 </ul>
242 </li>
243 <li class="toctree-l1"><a class="reference internal" href="memcached_memory_allocators.html">Use custom allocators for embedded usage</a><ul>
244 <li class="toctree-l2"><a class="reference internal" href="memcached_memory_allocators.html#synopsis">SYNOPSIS</a></li>
245 <li class="toctree-l2"><a class="reference internal" href="memcached_memory_allocators.html#description">DESCRIPTION</a></li>
246 <li class="toctree-l2"><a class="reference internal" href="memcached_memory_allocators.html#notes">NOTES</a></li>
247 <li class="toctree-l2"><a class="reference internal" href="memcached_memory_allocators.html#return">RETURN</a></li>
248 <li class="toctree-l2"><a class="reference internal" href="memcached_memory_allocators.html#see-also">SEE ALSO</a></li>
249 </ul>
250 </li>
251 <li class="toctree-l1"><a class="reference internal" href="memcached_quit.html">Disconnecting a client from a server</a><ul>
252 <li class="toctree-l2"><a class="reference internal" href="memcached_quit.html#synopsis">SYNOPSIS</a></li>
253 <li class="toctree-l2"><a class="reference internal" href="memcached_quit.html#description">DESCRIPTION</a></li>
254 <li class="toctree-l2"><a class="reference internal" href="memcached_quit.html#return">RETURN</a></li>
255 <li class="toctree-l2"><a class="reference internal" href="memcached_quit.html#see-also">SEE ALSO</a></li>
256 </ul>
257 </li>
258 <li class="toctree-l1"><a class="reference internal" href="libmemcached/memcached_return_t.html">Error Codes (memcached_return_t)</a><ul>
259 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_return_t.html#synopsis">SYNOPSIS</a></li>
260 <li class="toctree-l2"><a class="reference internal" href="libmemcached/memcached_return_t.html#see-also">SEE ALSO</a></li>
261 </ul>
262 </li>
263 <li class="toctree-l1"><a class="reference internal" href="memcached_sasl.html">SASL support</a><ul>
264 <li class="toctree-l2"><a class="reference internal" href="memcached_sasl.html#synopsis">SYNOPSIS</a></li>
265 <li class="toctree-l2"><a class="reference internal" href="memcached_sasl.html#description">DESCRIPTION</a></li>
266 <li class="toctree-l2"><a class="reference internal" href="memcached_sasl.html#return">RETURN</a></li>
267 <li class="toctree-l2"><a class="reference internal" href="memcached_sasl.html#see-also">SEE ALSO</a></li>
268 </ul>
269 </li>
270 <li class="toctree-l1"><a class="reference internal" href="memcached_server_st.html">Managing lists of servers</a><ul>
271 <li class="toctree-l2"><a class="reference internal" href="memcached_server_st.html#synopsis">SYNOPSIS</a></li>
272 <li class="toctree-l2"><a class="reference internal" href="memcached_server_st.html#description">DESCRIPTION</a></li>
273 <li class="toctree-l2"><a class="reference internal" href="memcached_server_st.html#return">RETURN</a></li>
274 <li class="toctree-l2"><a class="reference internal" href="memcached_server_st.html#see-also">SEE ALSO</a></li>
275 </ul>
276 </li>
277 <li class="toctree-l1"><a class="reference internal" href="memcached_servers.html">Manipulate the server information stored in memcached_st</a><ul>
278 <li class="toctree-l2"><a class="reference internal" href="memcached_servers.html#synopsis">SYNOPSIS</a></li>
279 <li class="toctree-l2"><a class="reference internal" href="memcached_servers.html#description">DESCRIPTION</a></li>
280 <li class="toctree-l2"><a class="reference internal" href="memcached_servers.html#return">RETURN</a></li>
281 <li class="toctree-l2"><a class="reference internal" href="memcached_servers.html#see-also">SEE ALSO</a></li>
282 </ul>
283 </li>
284 <li class="toctree-l1"><a class="reference internal" href="memcached_strerror.html">Converting Errors, memcached_return_t, to strings</a><ul>
285 <li class="toctree-l2"><a class="reference internal" href="memcached_strerror.html#synopsis">SYNOPSIS</a></li>
286 <li class="toctree-l2"><a class="reference internal" href="memcached_strerror.html#description">DESCRIPTION</a></li>
287 <li class="toctree-l2"><a class="reference internal" href="memcached_strerror.html#return">RETURN</a></li>
288 <li class="toctree-l2"><a class="reference internal" href="memcached_strerror.html#see-also">SEE ALSO</a></li>
289 </ul>
290 </li>
291 <li class="toctree-l1"><a class="reference internal" href="error_messages.html">Client Error messages</a><ul>
292 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_AUTH_CONTINUE.html">MEMCACHED_AUTH_CONTINUE</a></li>
293 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_AUTH_FAILURE.html">MEMCACHED_AUTH_FAILURE</a></li>
294 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_AUTH_PROBLEM.html">MEMCACHED_AUTH_PROBLEM</a></li>
295 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_BAD_KEY_PROVIDED.html">MEMCACHED_BAD_KEY_PROVIDED</a></li>
296 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_BUFFERED.html">MEMCACHED_BUFFERED</a></li>
297 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_CLIENT_ERROR.html">MEMCACHED_CLIENT_ERROR</a></li>
298 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_CONNECTION_BIND_FAILURE.html">MEMCACHED_CONNECTION_BIND_FAILURE</a></li>
299 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_CONNECTION_FAILURE.html">MEMCACHED_CONNECTION_FAILURE</a></li>
300 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE.html">MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE</a></li>
301 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_DATA_DOES_NOT_EXIST.html">MEMCACHED_DATA_DOES_NOT_EXIST</a></li>
302 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_DATA_EXISTS.html">MEMCACHED_DATA_EXISTS</a></li>
303 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_DELETED.html">MEMCACHED_DELETED</a></li>
304 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_DEPRECATED.html">MEMCACHED_DEPRECATED</a></li>
305 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_E2BIG.html">MEMCACHED_E2BIG</a></li>
306 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_END.html">MEMCACHED_END</a></li>
307 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_ERRNO.html">MEMCACHED_ERRNO</a></li>
308 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_FAILURE.html">MEMCACHED_FAILURE</a></li>
309 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_FAIL_UNIX_SOCKET.html">MEMCACHED_FAIL_UNIX_SOCKET</a></li>
310 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_FETCH_NOTFINISHED.html">MEMCACHED_FETCH_NOTFINISHED</a></li>
311 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_HOST_LOOKUP_FAILURE.html">MEMCACHED_HOST_LOOKUP_FAILURE</a></li>
312 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_INVALID_ARGUMENTS.html">MEMCACHED_INVALID_ARGUMENTS</a></li>
313 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_INVALID_HOST_PROTOCOL.html">MEMCACHED_INVALID_HOST_PROTOCOL</a></li>
314 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_ITEM.html">MEMCACHED_ITEM</a></li>
315 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_KEY_TOO_BIG.html">MEMCACHED_KEY_TOO_BIG</a></li>
316 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_MAXIMUM_RETURN.html">MEMCACHED_MAXIMUM_RETURN</a></li>
317 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_MEMORY_ALLOCATION_FAILURE.html">MEMCACHED_MEMORY_ALLOCATION_FAILURE</a></li>
318 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_NOTFOUND.html">MEMCACHED_NOTFOUND</a></li>
319 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_NOTSTORED.html">MEMCACHED_NOTSTORED</a></li>
320 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_NOT_SUPPORTED.html">MEMCACHED_NOT_SUPPORTED</a></li>
321 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_NO_KEY_PROVIDED.html">MEMCACHED_NO_KEY_PROVIDED</a></li>
322 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_NO_SERVERS.html">MEMCACHED_NO_SERVERS</a></li>
323 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_PARSE_ERROR.html">MEMCACHED_PARSE_ERROR</a></li>
324 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_PARSE_USER_ERROR.html">MEMCACHED_PARSE_USER_ERROR</a></li>
325 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_PARTIAL_READ.html">MEMCACHED_PARTIAL_READ</a></li>
326 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_PROTOCOL_ERROR.html">MEMCACHED_PROTOCOL_ERROR</a></li>
327 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_READ_FAILURE.html">MEMCACHED_READ_FAILURE</a></li>
328 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_SERVER_ERROR.html">MEMCACHED_SERVER_ERROR</a></li>
329 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_SERVER_MARKED_DEAD.html">MEMCACHED_SERVER_MARKED_DEAD</a></li>
330 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_SOME_ERRORS.html">MEMCACHED_SOME_ERRORS</a></li>
331 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_STAT.html">MEMCACHED_STAT</a></li>
332 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_STORED.html">MEMCACHED_STORED</a></li>
333 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_SUCCESS.html">MEMCACHED_SUCCESS</a></li>
334 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_TIMEOUT.html">MEMCACHED_TIMEOUT</a></li>
335 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_UNKNOWN_READ_FAILURE.html">MEMCACHED_UNKNOWN_READ_FAILURE</a></li>
336 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_UNKNOWN_STAT_KEY.html">MEMCACHED_UNKNOWN_STAT_KEY</a></li>
337 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_VALUE.html">MEMCACHED_VALUE</a></li>
338 <li class="toctree-l2"><a class="reference internal" href="client_errors/MEMCACHED_WRITE_FAILURE.html">MEMCACHED_WRITE_FAILURE</a></li>
339 </ul>
340 </li>
341 <li class="toctree-l1"><a class="reference internal" href="memcached_user_data.html">Storing custom user information in the client.</a><ul>
342 <li class="toctree-l2"><a class="reference internal" href="memcached_user_data.html#library">LIBRARY</a></li>
343 <li class="toctree-l2"><a class="reference internal" href="memcached_user_data.html#synopsis">SYNOPSIS</a></li>
344 <li class="toctree-l2"><a class="reference internal" href="memcached_user_data.html#description">DESCRIPTION</a></li>
345 <li class="toctree-l2"><a class="reference internal" href="memcached_user_data.html#return">RETURN</a></li>
346 <li class="toctree-l2"><a class="reference internal" href="memcached_user_data.html#see-also">SEE ALSO</a></li>
347 </ul>
348 </li>
349 <li class="toctree-l1"><a class="reference internal" href="memcached_verbosity.html">Setting the verbosity of a server</a><ul>
350 <li class="toctree-l2"><a class="reference internal" href="memcached_verbosity.html#synopsis">SYNOPSIS</a></li>
351 <li class="toctree-l2"><a class="reference internal" href="memcached_verbosity.html#description">DESCRIPTION</a></li>
352 <li class="toctree-l2"><a class="reference internal" href="memcached_verbosity.html#return">RETURN</a></li>
353 <li class="toctree-l2"><a class="reference internal" href="memcached_verbosity.html#see-also">SEE ALSO</a></li>
354 </ul>
355 </li>
356 <li class="toctree-l1"><a class="reference internal" href="memcached_version.html">Getting version information about the client and server</a><ul>
357 <li class="toctree-l2"><a class="reference internal" href="memcached_version.html#synopsis">SYNOPSIS</a></li>
358 <li class="toctree-l2"><a class="reference internal" href="memcached_version.html#description">DESCRIPTION</a></li>
359 <li class="toctree-l2"><a class="reference internal" href="memcached_version.html#return">RETURN</a></li>
360 <li class="toctree-l2"><a class="reference internal" href="memcached_version.html#see-also">SEE ALSO</a></li>
361 </ul>
362 </li>
363 <li class="toctree-l1"><a class="reference internal" href="libmemcached/defaults.html">DEFAULTS</a></li>
364 </ul>
365 <p class="caption"><span class="caption-text">Interface Versions</span></p>
366 <ul>
367 <li class="toctree-l1"><a class="reference internal" href="libmemcached-1.0/index.html">libmemcached 1.0 API</a><ul>
368 <li class="toctree-l2"><a class="reference internal" href="libmemcached-1.0/memcached_touch.html">memcached_touch, memcached_touch_by_key</a></li>
369 </ul>
370 </li>
371 <li class="toctree-l1"><a class="reference internal" href="libmemcached-1.1/index.html">libmemcached 1.1 API</a></li>
372 </ul>
373 <p class="caption"><span class="caption-text">Deprecated Functions</span></p>
374 <ul>
375 <li class="toctree-l1"><a class="reference internal" href="libmemcached/memcached_fetch.html">memcached_fetch</a></li>
376 </ul>
377 <p class="caption"><span class="caption-text">Platform Specifics</span></p>
378 <ul>
379 <li class="toctree-l1"><a class="reference internal" href="tap.html">Systemtap support</a></li>
380 <li class="toctree-l1"><a class="reference internal" href="types.html">Required C types</a><ul>
381 <li class="toctree-l2"><a class="reference internal" href="types.html#types">Types</a></li>
382 <li class="toctree-l2"><a class="reference internal" href="types.html#c-types-used">C Types Used</a></li>
383 </ul>
384 </li>
385 </ul>
386 <p class="caption"><span class="caption-text">Deriving Statistics from a Server</span></p>
387 <ul>
388 <li class="toctree-l1"><a class="reference internal" href="memcached_analyze.html">Analyzing servers</a><ul>
389 <li class="toctree-l2"><a class="reference internal" href="memcached_analyze.html#synopsis">SYNOPSIS</a></li>
390 <li class="toctree-l2"><a class="reference internal" href="memcached_analyze.html#description">DESCRIPTION</a></li>
391 <li class="toctree-l2"><a class="reference internal" href="memcached_analyze.html#return">RETURN</a></li>
392 <li class="toctree-l2"><a class="reference internal" href="memcached_analyze.html#see-also">SEE ALSO</a></li>
393 </ul>
394 </li>
395 <li class="toctree-l1"><a class="reference internal" href="memcached_stats.html">Working with statistical information from a server</a><ul>
396 <li class="toctree-l2"><a class="reference internal" href="memcached_stats.html#synopsis">SYNOPSIS</a></li>
397 <li class="toctree-l2"><a class="reference internal" href="memcached_stats.html#description">DESCRIPTION</a></li>
398 <li class="toctree-l2"><a class="reference internal" href="memcached_stats.html#return">RETURN</a></li>
399 <li class="toctree-l2"><a class="reference internal" href="memcached_stats.html#see-also">SEE ALSO</a></li>
400 </ul>
401 </li>
402 </ul>
403 <p class="caption"><span class="caption-text">Libmemcachedutil</span></p>
404 <ul>
405 <li class="toctree-l1"><a class="reference internal" href="libmemcachedutil.html">Introducing libmemcachedutil</a><ul>
406 <li class="toctree-l2"><a class="reference internal" href="libmemcachedutil.html#synopsis">SYNOPSIS</a></li>
407 <li class="toctree-l2"><a class="reference internal" href="libmemcachedutil.html#description">DESCRIPTION</a></li>
408 <li class="toctree-l2"><a class="reference internal" href="libmemcachedutil.html#threads">THREADS</a></li>
409 <li class="toctree-l2"><a class="reference internal" href="libmemcachedutil.html#see-also">SEE ALSO</a></li>
410 </ul>
411 </li>
412 <li class="toctree-l1"><a class="reference internal" href="memcached_pool.html">Working with memcached pools</a><ul>
413 <li class="toctree-l2"><a class="reference internal" href="memcached_pool.html#synopsis">SYNOPSIS</a></li>
414 <li class="toctree-l2"><a class="reference internal" href="memcached_pool.html#description">DESCRIPTION</a></li>
415 <li class="toctree-l2"><a class="reference internal" href="memcached_pool.html#return">RETURN</a></li>
416 <li class="toctree-l2"><a class="reference internal" href="memcached_pool.html#see-also">SEE ALSO</a></li>
417 </ul>
418 </li>
419 </ul>
420 <p class="caption"><span class="caption-text">Client Applications</span></p>
421 <ul>
422 <li class="toctree-l1"><a class="reference internal" href="bin/memcapable.html">memcapable - Checking a Memcached server capabilities and compatibility</a><ul>
423 <li class="toctree-l2"><a class="reference internal" href="bin/memcapable.html#synopsis">SYNOPSIS</a></li>
424 <li class="toctree-l2"><a class="reference internal" href="bin/memcapable.html#description">DESCRIPTION</a></li>
425 <li class="toctree-l2"><a class="reference internal" href="bin/memcapable.html#limitations">LIMITATIONS</a></li>
426 <li class="toctree-l2"><a class="reference internal" href="bin/memcapable.html#options">OPTIONS</a></li>
427 <li class="toctree-l2"><a class="reference internal" href="bin/memcapable.html#see-also">SEE ALSO</a></li>
428 </ul>
429 </li>
430 <li class="toctree-l1"><a class="reference internal" href="bin/memcat.html">memcat - “cat” data from a server</a><ul>
431 <li class="toctree-l2"><a class="reference internal" href="bin/memcat.html#synopsis">SYNOPSIS</a></li>
432 <li class="toctree-l2"><a class="reference internal" href="bin/memcat.html#description">DESCRIPTION</a></li>
433 <li class="toctree-l2"><a class="reference internal" href="bin/memcat.html#options">OPTIONS</a></li>
434 <li class="toctree-l2"><a class="reference internal" href="bin/memcat.html#see-also">SEE ALSO</a></li>
435 </ul>
436 </li>
437 <li class="toctree-l1"><a class="reference internal" href="bin/memcp.html">memcp - Copy data to a server</a><ul>
438 <li class="toctree-l2"><a class="reference internal" href="bin/memcp.html#synopsis">SYNOPSIS</a></li>
439 <li class="toctree-l2"><a class="reference internal" href="bin/memcp.html#description">DESCRIPTION</a></li>
440 <li class="toctree-l2"><a class="reference internal" href="bin/memcp.html#options">OPTIONS</a></li>
441 <li class="toctree-l2"><a class="reference internal" href="bin/memcp.html#see-also">SEE ALSO</a></li>
442 </ul>
443 </li>
444 <li class="toctree-l1"><a class="reference internal" href="bin/memdump.html">memdump - Dumping your server</a><ul>
445 <li class="toctree-l2"><a class="reference internal" href="bin/memdump.html#synopsis">SYNOPSIS</a></li>
446 <li class="toctree-l2"><a class="reference internal" href="bin/memdump.html#description">DESCRIPTION</a></li>
447 <li class="toctree-l2"><a class="reference internal" href="bin/memdump.html#options">OPTIONS</a></li>
448 <li class="toctree-l2"><a class="reference internal" href="bin/memdump.html#see-also">SEE ALSO</a></li>
449 </ul>
450 </li>
451 <li class="toctree-l1"><a class="reference internal" href="bin/memerror.html">memerror - translate an error code to a string</a><ul>
452 <li class="toctree-l2"><a class="reference internal" href="bin/memerror.html#synopsis">SYNOPSIS</a></li>
453 <li class="toctree-l2"><a class="reference internal" href="bin/memerror.html#description">DESCRIPTION</a></li>
454 <li class="toctree-l2"><a class="reference internal" href="bin/memerror.html#options">OPTIONS</a></li>
455 <li class="toctree-l2"><a class="reference internal" href="bin/memerror.html#see-also">SEE ALSO</a></li>
456 </ul>
457 </li>
458 <li class="toctree-l1"><a class="reference internal" href="bin/memflush.html">memflush - flush all data from a server</a><ul>
459 <li class="toctree-l2"><a class="reference internal" href="bin/memflush.html#synopsis">SYNOPSIS</a></li>
460 <li class="toctree-l2"><a class="reference internal" href="bin/memflush.html#description">DESCRIPTION</a></li>
461 <li class="toctree-l2"><a class="reference internal" href="bin/memflush.html#options">OPTIONS</a></li>
462 <li class="toctree-l2"><a class="reference internal" href="bin/memflush.html#see-also">SEE ALSO</a></li>
463 </ul>
464 </li>
465 <li class="toctree-l1"><a class="reference internal" href="bin/memrm.html">memrm - Remove data from a server</a><ul>
466 <li class="toctree-l2"><a class="reference internal" href="bin/memrm.html#synopsis">SYNOPSIS</a></li>
467 <li class="toctree-l2"><a class="reference internal" href="bin/memrm.html#description">DESCRIPTION</a></li>
468 <li class="toctree-l2"><a class="reference internal" href="bin/memrm.html#options">OPTIONS</a></li>
469 <li class="toctree-l2"><a class="reference internal" href="bin/memrm.html#see-also">SEE ALSO</a></li>
470 </ul>
471 </li>
472 <li class="toctree-l1"><a class="reference internal" href="bin/memslap.html">memslap - Load testing and benchmarking a server</a><ul>
473 <li class="toctree-l2"><a class="reference internal" href="bin/memslap.html#synopsis">SYNOPSIS</a></li>
474 <li class="toctree-l2"><a class="reference internal" href="bin/memslap.html#description">DESCRIPTION</a></li>
475 <li class="toctree-l2"><a class="reference internal" href="bin/memslap.html#options">OPTIONS</a></li>
476 <li class="toctree-l2"><a class="reference internal" href="bin/memslap.html#see-also">SEE ALSO</a></li>
477 </ul>
478 </li>
479 <li class="toctree-l1"><a class="reference internal" href="bin/memaslap.html">memaslap - Load testing and benchmarking a server</a><ul>
480 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#synopsis">SYNOPSIS</a></li>
481 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#description">DESCRIPTION</a></li>
482 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#features">FEATURES</a></li>
483 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#details">DETAILS</a></li>
484 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#usage">USAGE</a></li>
485 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#configuration-file">Configuration file</a></li>
486 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#format-of-output">Format of output</a></li>
487 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#options">OPTIONS</a></li>
488 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#examples">EXAMPLES</a></li>
489 <li class="toctree-l2"><a class="reference internal" href="bin/memaslap.html#see-also">SEE ALSO</a></li>
490 </ul>
491 </li>
492 <li class="toctree-l1"><a class="reference internal" href="bin/memstat.html">memstat - Gather statistics from a server</a><ul>
493 <li class="toctree-l2"><a class="reference internal" href="bin/memstat.html#synopsis">SYNOPSIS</a></li>
494 <li class="toctree-l2"><a class="reference internal" href="bin/memstat.html#description">DESCRIPTION</a></li>
495 <li class="toctree-l2"><a class="reference internal" href="bin/memstat.html#options">OPTIONS</a></li>
496 <li class="toctree-l2"><a class="reference internal" href="bin/memstat.html#see-also">SEE ALSO</a></li>
497 </ul>
498 </li>
499 <li class="toctree-l1"><a class="reference internal" href="bin/memexist.html">memexist - Check for the existence of a key</a><ul>
500 <li class="toctree-l2"><a class="reference internal" href="bin/memexist.html#synopsis">SYNOPSIS</a></li>
501 <li class="toctree-l2"><a class="reference internal" href="bin/memexist.html#description">DESCRIPTION</a></li>
502 <li class="toctree-l2"><a class="reference internal" href="bin/memexist.html#options">OPTIONS</a></li>
503 <li class="toctree-l2"><a class="reference internal" href="bin/memexist.html#see-also">SEE ALSO</a></li>
504 </ul>
505 </li>
506 <li class="toctree-l1"><a class="reference internal" href="bin/memparse.html">memparse - Parse an option string</a><ul>
507 <li class="toctree-l2"><a class="reference internal" href="bin/memparse.html#synopsis">SYNOPSIS</a></li>
508 <li class="toctree-l2"><a class="reference internal" href="bin/memparse.html#description">DESCRIPTION</a></li>
509 <li class="toctree-l2"><a class="reference internal" href="bin/memparse.html#options">OPTIONS</a></li>
510 <li class="toctree-l2"><a class="reference internal" href="bin/memparse.html#see-also">SEE ALSO</a></li>
511 </ul>
512 </li>
513 <li class="toctree-l1"><a class="reference internal" href="bin/memping.html">memping - Test to see if a server is available.</a><ul>
514 <li class="toctree-l2"><a class="reference internal" href="bin/memping.html#synopsis">SYNOPSIS</a></li>
515 <li class="toctree-l2"><a class="reference internal" href="bin/memping.html#description">DESCRIPTION</a></li>
516 <li class="toctree-l2"><a class="reference internal" href="bin/memping.html#options">OPTIONS</a></li>
517 <li class="toctree-l2"><a class="reference internal" href="bin/memping.html#see-also">SEE ALSO</a></li>
518 </ul>
519 </li>
520 <li class="toctree-l1"><a class="reference internal" href="bin/memtouch.html">memtouch - Touches a key.</a><ul>
521 <li class="toctree-l2"><a class="reference internal" href="bin/memtouch.html#synopsis">SYNOPSIS</a></li>
522 <li class="toctree-l2"><a class="reference internal" href="bin/memtouch.html#description">DESCRIPTION</a></li>
523 <li class="toctree-l2"><a class="reference internal" href="bin/memtouch.html#options">OPTIONS</a></li>
524 <li class="toctree-l2"><a class="reference internal" href="bin/memtouch.html#see-also">SEE ALSO</a></li>
525 </ul>
526 </li>
527 </ul>
528 <p class="caption"><span class="caption-text">Libhashkit</span></p>
529 <ul>
530 <li class="toctree-l1"><a class="reference internal" href="libhashkit.html">Introducing libhashkit</a><ul>
531 <li class="toctree-l2"><a class="reference internal" href="libhashkit.html#description">DESCRIPTION</a></li>
532 <li class="toctree-l2"><a class="reference internal" href="libhashkit.html#see-also">SEE ALSO</a></li>
533 </ul>
534 </li>
535 <li class="toctree-l1"><a class="reference internal" href="hashkit_create.html">Creating a hashkit structure</a><ul>
536 <li class="toctree-l2"><a class="reference internal" href="hashkit_create.html#synopsis">SYNOPSIS</a></li>
537 <li class="toctree-l2"><a class="reference internal" href="hashkit_create.html#description">DESCRIPTION</a></li>
538 <li class="toctree-l2"><a class="reference internal" href="hashkit_create.html#return-value">RETURN VALUE</a></li>
539 <li class="toctree-l2"><a class="reference internal" href="hashkit_create.html#see-also">SEE ALSO</a></li>
540 </ul>
541 </li>
542 <li class="toctree-l1"><a class="reference internal" href="hashkit_functions.html">Available Hashes</a><ul>
543 <li class="toctree-l2"><a class="reference internal" href="hashkit_functions.html#synopsis">SYNOPSIS</a></li>
544 <li class="toctree-l2"><a class="reference internal" href="hashkit_functions.html#description">DESCRIPTION</a></li>
545 <li class="toctree-l2"><a class="reference internal" href="hashkit_functions.html#return-value">RETURN VALUE</a></li>
546 <li class="toctree-l2"><a class="reference internal" href="hashkit_functions.html#see-also">SEE ALSO</a></li>
547 </ul>
548 </li>
549 <li class="toctree-l1"><a class="reference internal" href="hashkit_value.html">hashkit_value</a><ul>
550 <li class="toctree-l2"><a class="reference internal" href="hashkit_value.html#synopsis">SYNOPSIS</a></li>
551 <li class="toctree-l2"><a class="reference internal" href="hashkit_value.html#description">DESCRIPTION</a></li>
552 <li class="toctree-l2"><a class="reference internal" href="hashkit_value.html#return-value">RETURN VALUE</a></li>
553 <li class="toctree-l2"><a class="reference internal" href="hashkit_value.html#see-also">SEE ALSO</a></li>
554 </ul>
555 </li>
556 </ul>
557
558
559
560 </div>
561 </div>
562 </nav>
563
564 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
565
566
567 <nav class="wy-nav-top" aria-label="top navigation">
568
569 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
570 <a href="index.html">libmemcached</a>
571
572 </nav>
573
574
575 <div class="wy-nav-content">
576
577 <div class="rst-content">
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595 <div role="navigation" aria-label="breadcrumbs navigation">
596
597 <ul class="wy-breadcrumbs">
598
599 <li><a href="index.html">Docs</a> &raquo;</li>
600
601 <li>Working with data on the server in an atomic fashion</li>
602
603
604 <li class="wy-breadcrumbs-aside">
605
606
607
608 </li>
609
610 </ul>
611
612
613 <hr/>
614 </div>
615 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
616 <div itemprop="articleBody">
617
618 <div class="section" id="working-with-data-on-the-server-in-an-atomic-fashion">
619 <h1>Working with data on the server in an atomic fashion<a class="headerlink" href="#working-with-data-on-the-server-in-an-atomic-fashion" title="Permalink to this headline"></a></h1>
620 <div class="section" id="synopsis">
621 <span id="index-0"></span><h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
622 <p>#include &lt;libmemcached/memcached.h&gt;</p>
623 <dl class="function">
624 <dt id="c.memcached_cas">
625 <a class="reference internal" href="libmemcached/memcached_return_t.html#c.memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_cas</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#c.memcached_st" title="memcached_st">memcached_st</a><em> *ptr</em>, const char<em> *key</em>, size_t<em> key_length</em>, const char<em> *value</em>, size_t<em> value_length</em>, time_t<em> expiration</em>, <a class="reference internal" href="types.html#c.uint32_t" title="uint32_t">uint32_t</a><em> flags</em>, <a class="reference internal" href="types.html#c.uint64_t" title="uint64_t">uint64_t</a><em> cas</em><span class="sig-paren">)</span><a class="headerlink" href="#c.memcached_cas" title="Permalink to this definition"></a></dt>
626 <dd></dd></dl>
627
628 <dl class="function">
629 <dt id="c.memcached_cas_by_key">
630 <a class="reference internal" href="libmemcached/memcached_return_t.html#c.memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_cas_by_key</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#c.memcached_st" title="memcached_st">memcached_st</a><em> *ptr</em>, const char<em> *group_key</em>, size_t<em> group_key_length</em>, const char<em> *key</em>, size_t<em> key_length</em>, const char<em> *value</em>, size_t<em> value_length</em>, time_t<em> expiration</em>, <a class="reference internal" href="types.html#c.uint32_t" title="uint32_t">uint32_t</a><em> flags</em>, <a class="reference internal" href="types.html#c.uint64_t" title="uint64_t">uint64_t</a><em> cas</em><span class="sig-paren">)</span><a class="headerlink" href="#c.memcached_cas_by_key" title="Permalink to this definition"></a></dt>
631 <dd></dd></dl>
632
633 <p>Compile and link with -lmemcached</p>
634 </div>
635 <div class="section" id="description">
636 <h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
637 <p><a class="reference internal" href="#c.memcached_cas" title="memcached_cas"><code class="xref c c-func docutils literal notranslate"><span class="pre">memcached_cas()</span></code></a> overwrites data in the server as long as the “cas”
638 value is still the same in the server. You can get the cas value of a result
639 by calling <a class="reference internal" href="memcached_result_st.html#c.memcached_result_cas" title="memcached_result_cas"><code class="xref c c-func docutils literal notranslate"><span class="pre">memcached_result_cas()</span></code></a> on a memcached_result_st(3)
640 structure. At the point that this note was written cas is still buggy in memcached.
641 Turning on tests for it in libmemcached(3) is optional. Please see
642 <a class="reference internal" href="memcached_set.html#c.memcached_set" title="memcached_set"><code class="xref c c-func docutils literal notranslate"><span class="pre">memcached_set()</span></code></a> for information on how to do this.</p>
643 <p><a class="reference internal" href="#c.memcached_cas_by_key" title="memcached_cas_by_key"><code class="xref c c-func docutils literal notranslate"><span class="pre">memcached_cas_by_key()</span></code></a> method behaves in a similar method as the non
644 key methods. The difference is that it uses the group_key parameter
645 to map objects to particular servers.</p>
646 <p><a class="reference internal" href="#c.memcached_cas" title="memcached_cas"><code class="xref c c-func docutils literal notranslate"><span class="pre">memcached_cas()</span></code></a> is tested with the <a class="reference internal" href="memcached_behavior.html#c.MEMCACHED_BEHAVIOR_USE_UDP" title="MEMCACHED_BEHAVIOR_USE_UDP"><code class="xref c c-type docutils literal notranslate"><span class="pre">MEMCACHED_BEHAVIOR_USE_UDP</span></code></a> behavior enabled. However, when using these operations with this behavior
647 on, there are limits to the size of the payload being sent to the server. The
648 reason for these limits is that the Memcached Server does not allow
649 multi-datagram requests and the current server implementation sets a datagram
650 size to 1400 bytes. Due to protocol overhead, the actual limit of the user
651 supplied data is less than 1400 bytes and depends on the protocol in use as,
652 well as the operation being executed. When running with the binary protocol,
653 <a class="reference internal" href="memcached_behavior.html#c.MEMCACHED_BEHAVIOR_BINARY_PROTOCOL" title="MEMCACHED_BEHAVIOR_BINARY_PROTOCOL"><code class="xref c c-type docutils literal notranslate"><span class="pre">MEMCACHED_BEHAVIOR_BINARY_PROTOCOL</span></code></a>, the size of the key,value,
654 flags and expiry combined may not exceed 1368 bytes. When running with the
655 ASCII protocol, the exact limit fluctuates depending on which function is
656 being executed and whether the function is a cas operation or not. For
657 non-cas ASCII set operations, there are at least 1335 bytes available to
658 split among the key, key_prefix, and value; for cas ASCII operations there
659 are at least 1318 bytes available to split among the key, key_prefix and value. If the total size of the command, including overhead, exceeds 1400 bytes, a <a class="reference internal" href="client_errors/MEMCACHED_WRITE_FAILURE.html#c.MEMCACHED_WRITE_FAILURE" title="MEMCACHED_WRITE_FAILURE"><code class="xref c c-type docutils literal notranslate"><span class="pre">MEMCACHED_WRITE_FAILURE</span></code></a> will be returned.</p>
660 </div>
661 <div class="section" id="return">
662 <h2>RETURN<a class="headerlink" href="#return" title="Permalink to this headline"></a></h2>
663 <p>All methods return a value of type <a class="reference internal" href="libmemcached/memcached_return_t.html#c.memcached_return_t" title="memcached_return_t"><code class="xref c c-type docutils literal notranslate"><span class="pre">memcached_return_t</span></code></a>.
664 On success the value will be <a class="reference internal" href="client_errors/MEMCACHED_SUCCESS.html#c.MEMCACHED_SUCCESS" title="MEMCACHED_SUCCESS"><code class="xref c c-type docutils literal notranslate"><span class="pre">MEMCACHED_SUCCESS</span></code></a>.
665 Use <a class="reference internal" href="memcached_strerror.html#c.memcached_strerror" title="memcached_strerror"><code class="xref c c-func docutils literal notranslate"><span class="pre">memcached_strerror()</span></code></a> to translate this value to a printable
666 string.</p>
667 </div>
668 <div class="section" id="see-also">
669 <h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline"></a></h2>
670 <p><em class="manpage">memcached(1)</em> <em class="manpage">libmemcached(3)</em> <em class="manpage">memcached_strerror(3)</em> <em class="manpage">memcached_set(3)</em> <em class="manpage">memcached_append(3)</em> <em class="manpage">memcached_add(3)</em> <em class="manpage">memcached_prepend(3)</em> <em class="manpage">memcached_replace(3)</em></p>
671 </div>
672 </div>
673
674
675 </div>
676
677 </div>
678 <footer>
679
680 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
681
682 <a href="libmemcached-1.0/memcached_set_encoding_key.html" class="btn btn-neutral float-right" title="Set encryption key" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
683
684
685 <a href="memcached_append.html" class="btn btn-neutral float-left" title="Appending or Prepending to data on the server" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
686
687 </div>
688
689
690 <hr/>
691
692 <div role="contentinfo">
693 <p>
694 &copy; <a href="copyright.html">Copyright</a>
695
696 </p>
697 </div>
698 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
699
700 </footer>
701
702 </div>
703 </div>
704
705 </section>
706
707 </div>
708
709
710
711 <script type="text/javascript">
712 jQuery(function () {
713 SphinxRtdTheme.Navigation.enable(true);
714 });
715 </script>
716
717
718
719
720
721
722 </body>
723 </html>