Man page - libmemcached_examples(3)
Packages contains this manual
- memcached_behavior_get(3)
- memcached_result_create(3)
- memcached_callback_set(3)
- memcached_destroy_sasl_auth_data(3)
- memcached_result_key_length(3)
- memcached_exist_by_key(3)
- memcached_analyze(3)
- memcached_set_memory_allocators(3)
- memcached_free(3)
- memcached_mget_by_key(3)
- memcached_delete_by_key(3)
- memcached_result_free(3)
- memcached_result_flags(3)
- memcached_mget_execute(3)
- memcached_pool_st(3)
- memcached_decrement(3)
- memcached_dump(3)
- libmemcached_check_configuration(3)
- memcached_stats(3)
- memcached_last_error_errno(3)
- libmemcached_examples(3)
- memcached_replace(3)
- memcached_touch_by_key(3)
- memcached_set_user_data(3)
- memcached_auto(3)
- memcached_pool_create(3)
- memcached_flush_buffers(3)
- libmemcached_configuration(3)
- memcached_mget_execute_by_key(3)
- memcached_server_add_unix_socket(3)
- memcached_stat_servername(3)
- memcached_result_cas(3)
- memcached_pool_release(3)
- memcached_behavior(3)
- memcached_delete(3)
- memcached_server_list(3)
- memcached_cas_by_key(3)
- libmemcachedutil(3)
- memcached_get(3)
- memcached_server_push(3)
- memcached_increment(3)
- memcached_stat_get_keys(3)
- memcached_exist(3)
- memcached_fetch(3)
- memcached_add_by_key(3)
- memcached_server_list_count(3)
- memcached_get_sasl_callbacks(3)
- memcached_result_key_value(3)
- memcached_increment_with_initial(3)
- memcached_set(3)
- memcached_pool_behavior_set(3)
- memcached_get_by_key(3)
- memcached_servers_reset(3)
- memcached_pool_pop(3)
- memcached_pool_fetch(3)
- memcached_pool_behavior_get(3)
- memcached_mget(3)
- memcached_server_list_append(3)
- memcached_set_encoding_key(3)
- memcached_servers_parse(3)
- memcached_server_add(3)
- memcached_sasl_set_auth_data(3)
- memcached_server_list_free(3)
- memcached_fetch_result(3)
- memcached_sasl(3)
- memcached_memory_allocators(3)
- memcached_version(3)
- memcached_stat_get_value(3)
- memcached_get_memory_allocators(3)
- memcached_result_length(3)
- memcached_clone(3)
- memcached_verbosity(3)
- memcached_append_by_key(3)
- memcached_replace_by_key(3)
- memcached_last_error(3)
- memcached_strerror(3)
- memcached_quit(3)
- memcached_generate_hash_value(3)
- memcached_add(3)
- memcached_last_error_message(3)
- memcached_result_st(3)
- memcached_append(3)
- memcached_user_data(3)
- memcached_callback(3)
- memcached_pool_destroy(3)
- memcached_generate_hash(3)
- memcached_pool(3)
- memcached_pool_push(3)
- memcached_set_memory_allocators_context(3)
- memcached(3)
- memcached_stat(3)
- memcached_create(3)
- memcached_get_user_data(3)
- memcached_lib_version(3)
- memcached_fetch_execute(3)
- memcached_touch(3)
- memcached_server_st(3)
- memcached_server_cursor(3)
- memcached_servers(3)
- memcached_decrement_with_initial(3)
- memcached_flush(3)
- memcached_result_value(3)
- memcached_set_sasl_callbacks(3)
- memcached_callback_get(3)
- memcached_prepend_by_key(3)
- memcached_return_t(3)
- memcached_stat_execute(3)
- libmemcached(3)
- memcached_behavior_set(3)
- memcached_server_count(3)
- memcached_cas(3)
- memcached_set_by_key(3)
- memcached_prepend(3)
apt-get install libmemcached-dev
Manual
LIBMEMCACHED_EXAMPLES
NAMEDESCRIPTION
CONNECTING TO SERVERS
CREATING A POOL OF SERVERS
ADDING A VALUE TO THE SERVER
FETCHING MULTIPLE VALUES
SEE ALSO
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
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
char *key=
"foo";
char *value= "value";
time_t expires = 0;
uint32_t flags = 0;
memcached_return_t
rc = memcached_set(memc,
key, strlen(key),
value, value_length,
expires, flags);
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.
SEE ALSO
memcached(1)