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]-->
9 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0">
11 <title>Storing data on the server
— libmemcached
1.0.99 documentation
</title>
20 <script type=
"text/javascript" src=
"../_static/js/modernizr.min.js"></script>
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>
29 <script type=
"text/javascript" src=
"../_static/js/theme.js"></script>
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=
"Deleting data from a server" href=
"memcached_delete.html" />
40 <link rel=
"prev" title=
"Retrieving data from the server" href=
"memcached_get.html" />
43 <body class=
"wy-body-for-nav">
46 <div class=
"wy-grid-for-nav">
48 <nav data-toggle=
"wy-nav-shift" class=
"wy-nav-side">
49 <div class=
"wy-side-scroll">
50 <div class=
"wy-side-nav-search" >
54 <a href=
"../index.html" class=
"icon icon-home"> libmemcached
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" />
81 <div class=
"wy-menu wy-menu-vertical" data-spy=
"affix" role=
"navigation" aria-label=
"main navigation">
88 <p class=
"caption"><span class=
"caption-text">libmemcached
</span></p>
90 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libmemcached.html">Introduction
</a></li>
91 <li class=
"toctree-l1 current"><a class=
"reference internal" href=
"index.html">libmemcached API
</a><ul class=
"current">
92 <li class=
"toctree-l2 current"><a class=
"reference internal" href=
"index_basics.html">Basics
</a></li>
93 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_data.html">Working with Data
</a></li>
94 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_errors.html">Messages and Errors
</a></li>
95 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_advanced.html">Advanced Topics
</a></li>
96 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_deprecated.html">Deprecated Functionality
</a></li>
99 <li class=
"toctree-l1"><a class=
"reference internal" href=
"index_misc.html">Misc
</a><ul>
100 <li class=
"toctree-l2"><a class=
"reference internal" href=
"configuration.html">Configuration
</a></li>
101 <li class=
"toctree-l2"><a class=
"reference internal" href=
"constants.html">Constants
</a></li>
102 <li class=
"toctree-l2"><a class=
"reference internal" href=
"examples.html">Examples
</a></li>
103 <li class=
"toctree-l2"><a class=
"reference internal" href=
"versioning.html">Versioning
</a></li>
107 <p class=
"caption"><span class=
"caption-text">libmemcachedutil
</span></p>
109 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libmemcachedutil.html">Introduction
</a></li>
110 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libmemcachedutil/index.html">libmemcachedutil API
</a><ul>
111 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../libmemcachedutil/memcached_pool.html">Working with memcached pools
</a></li>
115 <p class=
"caption"><span class=
"caption-text">libhashkit
</span></p>
117 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libhashkit.html">Introduction
</a></li>
118 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libhashkit/index.html">libhashkit API
</a><ul>
119 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../libhashkit/hashkit_create.html">Creating a hashkit structure
</a></li>
120 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../libhashkit/hashkit_function.html">Set Hash Function
</a></li>
121 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../libhashkit/hashkit_functions.html">Available Hashes
</a></li>
122 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../libhashkit/hashkit_value.html">Generate hash value
</a></li>
126 <p class=
"caption"><span class=
"caption-text">Client Applications
</span></p>
128 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../bin/index.html">Client Applications
</a><ul>
129 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memcapable.html">memcapable - Checking a Memcached server capabilities and compatibility
</a></li>
130 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memcat.html">memcat - “cat” data from a server
</a></li>
131 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memcp.html">memcp - Copy data to a server
</a></li>
132 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memdump.html">memdump - Dumping your server
</a></li>
133 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memerror.html">memerror - translate an error code to a string
</a></li>
134 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memflush.html">memflush - flush all data from a server
</a></li>
135 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memrm.html">memrm - Remove data from a server
</a></li>
136 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memslap.html">memslap - Load testing and benchmarking a server
</a></li>
137 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memaslap.html">memaslap - Load testing and benchmarking a server
</a></li>
138 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memstat.html">memstat - Gather statistics from a server
</a></li>
139 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memexist.html">memexist - Check for the existence of a key
</a></li>
140 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memparse.html">memparse - Parse an option string
</a></li>
141 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memping.html">memping - Test to see if a server is available.
</a></li>
142 <li class=
"toctree-l2"><a class=
"reference internal" href=
"../bin/memtouch.html">memtouch - Touches a key.
</a></li>
153 <section data-toggle=
"wy-nav-shift" class=
"wy-nav-content-wrap">
156 <nav class=
"wy-nav-top" aria-label=
"top navigation">
158 <i data-toggle=
"wy-nav-top" class=
"fa fa-bars"></i>
159 <a href=
"../index.html">libmemcached
</a>
164 <div class=
"wy-nav-content">
166 <div class=
"rst-content">
184 <div role=
"navigation" aria-label=
"breadcrumbs navigation">
186 <ul class=
"wy-breadcrumbs">
188 <li><a href=
"../index.html">Docs
</a> »</li>
190 <li><a href=
"index.html">libmemcached API
</a> »</li>
192 <li><a href=
"index_basics.html">Basics
</a> »</li>
194 <li>Storing data on the server
</li>
197 <li class=
"wy-breadcrumbs-aside">
208 <div role=
"main" class=
"document" itemscope=
"itemscope" itemtype=
"http://schema.org/Article">
209 <div itemprop=
"articleBody">
211 <div class=
"section" id=
"storing-data-on-the-server">
212 <h1>Storing data on the server
<a class=
"headerlink" href=
"#storing-data-on-the-server" title=
"Permalink to this headline">¶
</a></h1>
213 <div class=
"section" id=
"synopsis">
214 <span id=
"index-0"></span><h2>SYNOPSIS
<a class=
"headerlink" href=
"#synopsis" title=
"Permalink to this headline">¶
</a></h2>
216 <dt>#include
<libmemcached/memcached.h
></dt><dd><p>Compile and link with -lmemcached
</p>
219 <dl class=
"function">
220 <dt id=
"_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t">
221 <span id=
"_CPPv313memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"_CPPv213memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"memcached_set__memcached_stP.cCP.s.cCP.s.time_t.uint32_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"sig-name descname">memcached_set
</code><span class=
"sig-paren">(
</span><a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> char *
<em>key
</em>, size_t
<em>key_length
</em>,
<em class=
"property">const
</em> char *
<em>value
</em>, size_t
<em>value_length
</em>, time_t
<em>expiration
</em>, uint32_t
<em>flags
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
224 <dl class=
"function">
225 <dt id=
"_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t">
226 <span id=
"_CPPv313memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"_CPPv213memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"memcached_add__memcached_stP.cCP.s.cCP.s.time_t.uint32_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"sig-name descname">memcached_add
</code><span class=
"sig-paren">(
</span><a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> char *
<em>key
</em>, size_t
<em>key_length
</em>,
<em class=
"property">const
</em> char *
<em>value
</em>, size_t
<em>value_length
</em>, time_t
<em>expiration
</em>, uint32_t
<em>flags
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
229 <dl class=
"function">
230 <dt id=
"_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t">
231 <span id=
"_CPPv317memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"_CPPv217memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"memcached_replace__memcached_stP.cCP.s.cCP.s.time_t.uint32_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"sig-name descname">memcached_replace
</code><span class=
"sig-paren">(
</span><a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> char *
<em>key
</em>, size_t
<em>key_length
</em>,
<em class=
"property">const
</em> char *
<em>value
</em>, size_t
<em>value_length
</em>, time_t
<em>expiration
</em>, uint32_t
<em>flags
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
234 <dl class=
"function">
235 <dt id=
"_CPPv420memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t">
236 <span id=
"_CPPv320memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"_CPPv220memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"memcached_set_by_key__memcached_stP.cCP.s.cCP.s.cCP.s.time_t.uint32_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"sig-name descname">memcached_set_by_key
</code><span class=
"sig-paren">(
</span><a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> char *
<em>group_key
</em>, size_t
<em>group_key_length
</em>,
<em class=
"property">const
</em> char *
<em>key
</em>, size_t
<em>key_length
</em>,
<em class=
"property">const
</em> char *
<em>value
</em>, size_t
<em>value_length
</em>, time_t
<em>expiration
</em>, uint32_t
<em>flags
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv420memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
239 <dl class=
"function">
240 <dt id=
"_CPPv420memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t">
241 <span id=
"_CPPv320memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"_CPPv220memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"memcached_add_by_key__memcached_stP.cCP.s.cCP.s.cCP.s.time_t.uint32_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"sig-name descname">memcached_add_by_key
</code><span class=
"sig-paren">(
</span><a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> char *
<em>group_key
</em>, size_t
<em>group_key_length
</em>,
<em class=
"property">const
</em> char *
<em>key
</em>, size_t
<em>key_length
</em>,
<em class=
"property">const
</em> char *
<em>value
</em>, size_t
<em>value_length
</em>, time_t
<em>expiration
</em>, uint32_t
<em>flags
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv420memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
244 <dl class=
"function">
245 <dt id=
"_CPPv424memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t">
246 <span id=
"_CPPv324memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"_CPPv224memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id=
"memcached_replace_by_key__memcached_stP.cCP.s.cCP.s.cCP.s.time_t.uint32_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"sig-name descname">memcached_replace_by_key
</code><span class=
"sig-paren">(
</span><a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> char *
<em>group_key
</em>, size_t
<em>group_key_length
</em>,
<em class=
"property">const
</em> char *
<em>key
</em>, size_t
<em>key_length
</em>,
<em class=
"property">const
</em> char *
<em>value
</em>, size_t
<em>value_length
</em>, time_t
<em>expiration
</em>, uint32_t
<em>flags
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv424memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
250 <div class=
"section" id=
"description">
251 <h2>DESCRIPTION
<a class=
"headerlink" href=
"#description" title=
"Permalink to this headline">¶
</a></h2>
252 <p><a class=
"reference internal" href=
"#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_set"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_set()
</span></code></a>,
<a class=
"reference internal" href=
"#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_add"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_add()
</span></code></a>, and
<a class=
"reference internal" href=
"#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_replace"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_replace()
</span></code></a> are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to
250 characters when using either a version of memcached(
1) which is
1.4 or below, or when using the text protocol. You must supply both a value and a length. Optionally you
253 store the object. Keys are currently limited to
250 characters by the
254 memcached(
1) server. You must supply both a value and a length. Optionally you
255 may test an expiration time for the object and a
16 byte value (it is meant to be used as a bitmap). “flags” is a
4byte space that is stored alongside of the main value. Many sub libraries make use of this field, so in most cases users should avoid making use of it.
</p>
256 <p><a class=
"reference internal" href=
"#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_set"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_set()
</span></code></a> will write an object to the server. If an object
257 already exists it will overwrite what is in the server. If the object does not
258 exist it will be written. If you are using the non-blocking mode this function
259 will always return true unless a network error occurs.
</p>
260 <p><a class=
"reference internal" href=
"#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_replace"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_replace()
</span></code></a> replaces an object on the server. If the object is not found on the server an error occurs.
</p>
261 <p><a class=
"reference internal" href=
"#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_add"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_add()
</span></code></a> adds an object to the server. If the object is found on the server an error occurs, otherwise the value is stored.
</p>
262 <p><a class=
"reference internal" href=
"#_CPPv420memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_set_by_key"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_set_by_key()
</span></code></a>,
<a class=
"reference internal" href=
"#_CPPv420memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_add_by_key"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_add_by_key()
</span></code></a>, and
<a class=
"reference internal" href=
"#_CPPv424memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_replace_by_key"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_replace_by_key()
</span></code></a> methods all behave in a similar method as the non
263 key methods. The difference is that they use their group_key parameter to map
264 objects to particular servers.
</p>
265 <p>If you are looking for performance,
<a class=
"reference internal" href=
"#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_set"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_set()
</span></code></a> with non-blocking IO is the fastest way to store data on the server.
</p>
266 <p>All of the above functions are tested with the
<a class=
"reference internal" href=
"memcached_behavior.html#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE" title=
"MEMCACHED_BEHAVIOR_USE_UDP"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_BEHAVIOR_USE_UDP
</span></code></a> behavior enabled. However, when using these operations with this behavior
267 on, there are limits to the size of the payload being sent to the server.
268 The reason for these limits is that the Memcached Server does not allow
269 multi-datagram requests and the current server implementation sets a datagram
270 size to
1400 bytes. Due to protocol overhead, the actual limit of the user supplied data is less than
1400 bytes and depends on the protocol in use as, well as the operation being
271 executed. When running with the binary protocol,
<a class=
"reference internal" href=
"memcached_behavior.html#_CPPv4N20memcached_behavior_t34MEMCACHED_BEHAVIOR_BINARY_PROTOCOLE" title=
"MEMCACHED_BEHAVIOR_BINARY_PROTOCOL"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_BEHAVIOR_BINARY_PROTOCOL
</span></code></a>, the size of the key,value, flags and expiry combined may not
272 exceed
1368 bytes. When running with the ASCII protocol, the exact limit fluctuates depending on which function is being executed and whether the function is a cas operation or not. For non-cas ASCII set operations, there are at least
273 1335 bytes available to split among the key, key_prefix, and value; for cas
274 ASCII operations there are at least
1318 bytes available to split among the key, key_prefix and value. If the total size of the command, including overhead,
275 exceeds
1400 bytes, a
<a class=
"reference internal" href=
"memcached_return_t.html#_CPPv4N18memcached_return_t23MEMCACHED_WRITE_FAILUREE" title=
"MEMCACHED_WRITE_FAILURE"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_WRITE_FAILURE
</span></code></a> will be returned.
</p>
277 <div class=
"section" id=
"return-value">
278 <h2>RETURN VALUE
<a class=
"headerlink" href=
"#return-value" title=
"Permalink to this headline">¶
</a></h2>
279 <p>All methods return a value of type
<a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_return_t
</span></code></a>.
280 On success the value will be
<a class=
"reference internal" href=
"memcached_return_t.html#_CPPv4N18memcached_return_t17MEMCACHED_SUCCESSE" title=
"MEMCACHED_SUCCESS"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_SUCCESS
</span></code></a>.
281 Use
<a class=
"reference internal" href=
"memcached_strerror.html#_CPPv418memcached_strerrorP12memcached_st18memcached_return_t" title=
"memcached_strerror"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_strerror()
</span></code></a> to translate this value to a printable string.
</p>
282 <p>For
<a class=
"reference internal" href=
"#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_replace"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_replace()
</span></code></a> and
<a class=
"reference internal" href=
"#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title=
"memcached_add"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_add()
</span></code></a>,
<a class=
"reference internal" href=
"memcached_return_t.html#_CPPv4N18memcached_return_t19MEMCACHED_NOTSTOREDE" title=
"MEMCACHED_NOTSTORED"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_NOTSTORED
</span></code></a>
283 is a legitimate error in the case of a collision.
</p>
285 <div class=
"section" id=
"see-also">
286 <h2>SEE ALSO
<a class=
"headerlink" href=
"#see-also" title=
"Permalink to this headline">¶
</a></h2>
296 <div class=
"rst-footer-buttons" role=
"navigation" aria-label=
"footer navigation">
298 <a href=
"memcached_delete.html" class=
"btn btn-neutral float-right" title=
"Deleting data from a server" accesskey=
"n" rel=
"next">Next
<span class=
"fa fa-arrow-circle-right"></span></a>
301 <a href=
"memcached_get.html" class=
"btn btn-neutral float-left" title=
"Retrieving data from the server" accesskey=
"p" rel=
"prev"><span class=
"fa fa-arrow-circle-left"></span> Previous
</a>
308 <div role=
"contentinfo">
310 © <a href=
"../copyright.html">Copyright
</a>
314 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>.
327 <script type=
"text/javascript">
329 SphinxRtdTheme.Navigation.enable(true);