Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

libmemcached_examples(3) [debian man page]

LIBMEMCACHED_EXAMPLES(3)					   libmemcached 					  LIBMEMCACHED_EXAMPLES(3)

NAME
libmemcached_examples - libmemcached Documentation Examples for libmemcached DESCRIPTION
For full examples, test cases are found in tests/*.c in the main distribution. These are always up to date, and are used for each test run of the library. CONNECTING TO SERVERS
const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com" memcached_st *memc= memcached(config_string, strlen(config_string); { ... } memcached_free(memc); In the above code you create a memcached_st object with three server by making use of memcached_create(). CREATING A POOL OF SERVERS
Creating a pool of Servers: 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 memcached_pool(). When memcached_pool_destroy() all memory will be released that is associated with the pool. ADDING A VALUE TO THE SERVER
Adding a value to the Server: char *key= "foo"; 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) { ... // handle failure } It is best practice to always look at the return value of any operation. FETCHING MULTIPLE VALUES
memcached_return_t rc; char *keys[]= {"fudge", "son", "food"}; size_t key_length[]= {5, 3, 4}; unsigned int x; uint32_t flags; char return_key[MEMCACHED_MAX_KEY]; size_t return_key_length; char *return_value; size_t return_value_length; rc= memcached_mget(memc, keys, key_length, 3); x= 0; while ((return_value= memcached_fetch(memc, return_key, &return_key_length, &return_value_length, &flags, &rc))) { free(return_value); x++; } Notice that you freed values returned from memcached_fetch(). The define MEMCACHED_MAX_KEY is provided for usage. HOME
To find out more information please check: http://libmemcached.org/ SEE ALSO
memcached(1) AUTHOR
Brian Aker COPYRIGHT
2011, Brian Aker DataDifferential, http://datadifferential.com/ 1.0.8 May 22, 2012 LIBMEMCACHED_EXAMPLES(3)

Check Out this Related Man Page

MEMCACHED_POOL_DESTROY(3)					   libmemcached 					 MEMCACHED_POOL_DESTROY(3)

NAME
memcached_pool_destroy - libmemcached Documentation SYNOPSIS
#include <libmemcached/memcached_pool.h> memcached_pool_st memcached_pool_st* memcached_pool(const char *option_string, size_t option_string_length) memcached_pool_st* memcached_pool_create(memcached_st* mmc, int initial, int max) Deprecated since version 0.46: Use memcached_pool() memcached_st* memcached_pool_destroy(memcached_pool_st* pool) memcached_st* memcached_pool_pop(memcached_pool_st* pool, bool block, memcached_return_t *rc) Deprecated since version 0.53: Use memcached_pool_fetch() memcached_st* memcached_pool_fetch(memcached_pool_st*, struct timespec* relative_time, memcached_return_t* rc) New in version 0.53: Synonym for memcached_pool_pop memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc) Deprecated since version 0.53: Use memcached_pool_push() memcached_return_t memcached_pool_release(memcached_pool_st* pool, memcached_st* mmc) New in version 0.53: Synonym for memcached_pool_push. memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) Compile and link with -lmemcachedutil -lmemcached DESCRIPTION
memcached_pool() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short lived memcached_st objects. Please see libmemcached_configuration for details on the format of the configuration string. memcached_pool_destroy() is used to destroy the connection pool created with memcached_pool_create() and release all allocated resources. It will return the pointer to the memcached_st structure passed as an argument to memcached_pool_create(), and returns the ownership of the pointer to the caller when created with memcached_pool_create(), otherwise NULL is returned.. memcached_pool_fetch() is used to fetch a connection structure from the connection pool. The relative_time argument specifies if the func- tion should block and wait for a connection structure to be available if we try to exceed the maximum size. You need to specify time in relative time. memcached_pool_release() is used to return a connection structure back to the pool. memcached_pool_behavior_get() and memcached_pool_behavior_set() is used to get/set behavior flags on all connections in the pool. Both memcached_pool_release() and memcached_pool_fetch() are thread safe. RETURN
memcached_pool_destroy() returns the pointer (and ownership) to the memcached_st structure used to create the pool. If connections are in use it returns NULL. memcached_pool_pop() returns a pointer to a memcached_st structure from the pool (or NULL if an allocation cannot be satisfied). memcached_pool_release() returns MEMCACHED_SUCCESS upon success. memcached_pool_behavior_get() and memcached_pool_behavior_get() returns MEMCACHED_SUCCESS upon success. If any methods returns MEMCACHED_IN_PROGRESS then a lock on the pool could not be obtained. If any of the parameters passed to any of these functions is invalid, MEMCACHED_INVALID_ARGUMENTS will be returned. memcached_pool_fetch may return MEMCACHED_TIMEOUT if a timeout occurs while waiting for a free memcached_st. MEMCACHED_NOTFOUND if no mem- cached_st was available. HOME
To find out more information please check: http://libmemcached.org/ AUTHOR
Brian Aker, <brian@tangent.org> Trond Norbye, <trond.norbye@gmail.com> SEE ALSO
memcached(1) libmemcached(3) memcached_strerror(3) libmemcached_configuration(3) AUTHOR
Brian Aker COPYRIGHT
2011, Brian Aker DataDifferential, http://datadifferential.com/ 1.0.8 May 22, 2012 MEMCACHED_POOL_DESTROY(3)
Man Page