distribution. These are always up to date, and are used for each test run of
the library.
-------------------------------
-Creating and Freeing structure
-------------------------------
-
-
-.. code-block:: c
-
- memcached_st *memc;
- memcached_return_t rc;
-
- memc= memcached_create(NULL);
- ...do stuff...
- memcached_free(memc);
-
-
-The above code would create a connection and then free the connection when
-finished.
-
---------------------
Connecting to servers
.. code-block:: c
const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
- memcached_st *memc= memcached_create_with_options(config_string, strlen(config_string);
+ memcached_st *memc= memcached(config_string, strlen(config_string);
{
...
}
In the above code you create a \ ``memcached_st``\ object with three server by making use of :manpage:`memcached_create_with_options(3)`.
+--------------------------
+Creating a pool of servers
+--------------------------
+
+
+
+.. code-block:: c
+
+ const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com";
+
+ memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string));
+
+ memcached_return_t rc;
+
+ memcached_st *memc= memcached_pool_pop(pool, false, &rc);
+
+ .... do work
+
+ /*
+ Release the memc_ptr that was pulled from the pool
+ */
+ memcached_pool_push(pool, memc);
+
+ /*
+ Destroy the pool.
+ */
+ memcached_pool_destroy(pool);
+
+
+
+In the above code you create a \ ``memcached_pool_st``\ object with three
+server by making use of :manpage:`memcached_pool(3)`.
+
+When memcached_pool_destroy() all memory will be released that is associated
+with the pool.
+
+
----------------------------
Adding a value to the server
----------------------------
.. code-block:: c
char *key= "foo";
- char *value;
- size_t value_length= 8191;
- unsigned int x;
-
- value = (char*)malloc(value_length);
- assert(value);
-
- for (x= 0; x < value_length; x++)
- value[x] = (char) (x % 127);
-
- for (x= 0; x < 1; x++)
+ char *value= "value";
+
+ memcached_return_t rc= memcached_set(memc, key, strlen(key), value, value_length, (time_t)0, (uint32_t)0);
+
+ if (rc != MEMCACHED_SUCCESS)
{
- rc= memcached_set(memc, key, strlen(key),
- value, value_length,
- (time_t)0, (uint32_t)0);
- assert(rc == MEMCACHED_SUCCESS);
+ ... // handle failure
}
-
- free(value);
It is best practice to always look at the return value of any operation.