X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Flibmemcached.rst;h=23ec93b49a9974e6b0b7646d00b96a6f747d1a62;hb=c3723b53b87471782076765f0fff656d07de74e0;hp=38346fca6f3dd22805744a1b81608261ae5ce2fc;hpb=ef301192f389f5f6ab4f8ed8c204ca7e115fe0b1;p=m6w6%2Flibmemcached diff --git a/docs/libmemcached.rst b/docs/libmemcached.rst index 38346fca..23ec93b4 100644 --- a/docs/libmemcached.rst +++ b/docs/libmemcached.rst @@ -1,30 +1,26 @@ -=========== -Introducing -=========== - - -Client library for memcached - - -------- -LIBRARY -------- - - -C Client Library for memcached (libmemcached, -lmemcached) - +============================================== +Introducing the C Client Library for memcached +============================================== -------- SYNOPSIS -------- +#include +Compile and link with -lmemcached -.. code-block:: perl - - #include +libMemcached is an open source C/C++ client library and tools for the memcached server (http://danga.com/memcached). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods. +libMemcached was designed to provide the greatest number of options to use Memcached. Some of the features provided: +1. Asynchronous and Synchronous Transport Support. +2. Consistent Hashing and Distribution. +3. Tunable Hashing algorithm to match keys. +4. Access to large object support. +5. Local replication. +6. A complete reference guide and documentation to the API. +7. Tools to Manage your Memcached networks. ----------- DESCRIPTION @@ -36,14 +32,14 @@ system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load." `http://danga.com/memcached/ `_ \ **libmemcached**\ is a small, thread-safe client library for the -memcached protocol. The code has all been written with an eye to allow +memcached protocol. The code has all been written to allow for both web and embedded usage. It handles the work behind routing -particular keys to specific servers that you specify (and values are -matched based on server order as supplied by you). It implements both -a modula and consistent method of object distribution. +individual keys to specific servers specified by the developer (and values are +matched based on server order as supplied by the user). It implements +a modular and consistent method of object distribution. There are multiple implemented routing and hashing methods. See the -memcached_behavior_set() manpage. +memcached_behavior_set() manpage for more information. All operations are performed against a \ ``memcached_st``\ structure. These structures can either be dynamically allocated or statically @@ -54,8 +50,11 @@ recommended that you operate directly against the structure. Nearly all functions return a \ ``memcached_return_t``\ value. This value can be translated to a printable string with memcached_strerror(3). -Partitioning based on keys is testsed in the library. Using the key partioning -functions it is possible to group sets of object onto servers. +Objects are stored on servers by hashing keys. The hash value maps the key to a particular server. All clients understand how this hashing works, so it is possibly to reliably both push data to a server and retrieve data from a server. + +Group keys can be optionally used to group sets of objects with servers. + +Namespaces are supported, and can be used to partition caches so that multiple applications can use the same memcached servers. \ ``memcached_st``\ structures are thread-safe, but each thread must contain its own structure (that is, if you want to share these among @@ -129,9 +128,9 @@ THREADS AND PROCESSES --------------------- -When using threads or forked processes it is important to keep an instance +When using threads or forked processes it is important to keep one instance of \ ``memcached_st``\ per process or thread. Without creating your own locking -structures you can not share a single \ ``memcached_st``\ . You can though call +structures you can not share a single \ ``memcached_st``\ . However, you can call memcached_quit(3) on a \ ``memcached_st``\ and then use the resulting cloned structure. @@ -142,7 +141,7 @@ HOME To find out more information please check: -`https://launchpad.net/libmemcached `_ +`http://libmemcached.org/ `_ -------- @@ -150,12 +149,35 @@ SEE ALSO -------- -:manpage:`memcached(1)` :manpage:`libmemcached_examples(3)` :manpage:`libmemcached(1)` :manpage:`memcat(1)` :manpage:`memcp(1)` :manpage:`memflush(1)` :manpage:`memrm(1)` :manpage:`memslap(1)` :manpage:`memstat(1)` :manpage:`memcached_fetch(3)` :manpage:`memcached_replace(3)` :manpage:`memcached_server_list_free(3)` :manpage:`libmemcached_examples(3)` :manpage:`memcached_clone(3)` :manpage:`memcached_free(3)` -:manpage:`memcached_server_add(3)` :manpage:`memcached_server_push(3)` :manpage:`memcached_add(3)` :manpage:`memcached_get(3)` :manpage:`memcached_server_count(3)` :manpage:`memcached_servers_parse(3)` :manpage:`memcached_create(3)` :manpage:`memcached_increment(3)` :manpage:`memcached_server_list(3)` :manpage:`memcached_set(3)` -:manpage:`memcached_decrement(3)` :manpage:`memcached_mget(3)` :manpage:`memcached_server_list_append(3)` :manpage:`memcached_strerror(3)` :manpage:`memcached_delete(3)` :manpage:`memcached_quit(3)` :manpage:`memcached_server_list_count(3)` :manpage:`memcached_verbosity(3)` :manpage:`memcached_server_add_unix_socket(3)` :manpage:`memcached_result_create(3)` :manpage:`memcached_result_free(3)` -:manpage:`memcached_result_key_value(3)` :manpage:`memcached_result_key_length(3)` :manpage:`memcached_result_value(3)` :manpage:`memcached_result_length(3)` :manpage:`memcached_result_flags(3)` -:manpage:`memcached_result_cas(3)` :manpage:`memcached_result_st(3)` :manpage:`memcached_append(3)` :manpage:`memcached_prepend(3)` :manpage:`memcached_fetch_result(3)` -:manpage:`memerror(1)` :manpage:`memcached_get_by_key(3)` :manpage:`memcached_mget_by_key(3)` :manpage:`memcached_delete_by_key(3)` -:manpage:`memcached_fetch_execute(3)` :manpage:`memcached_callback_get(3)` :manpage:`memcached_callback_set(3)` :manpage:`memcached_version(3)` -:manpage:`memcached_lib_version(3)` :manpage:`memcached_result_set_value(3)` :manpage:`memcached_dump(3)` :manpage:`memdump(1)` -:manpage:`memcached_set_memory_allocators(3)` :manpage:`memcached_get_memory_allocators(3)` :manpage:`memcached_get_user_data(3)` :manpage:`memcached_set_user_data(3)` +:manpage:`memcached(1)` :manpage:`libmemcached_examples(3)` +:manpage:`libmemcached(1)` :manpage:`memcat(1)` :manpage:`memcp(1)` +:manpage:`memflush(1)` :manpage:`memrm(1)` :manpage:`memslap(1)` +:manpage:`memstat(1)` :manpage:`memcached_fetch(3)` +:manpage:`memcached_replace(3)` :manpage:`memcached_server_list_free(3)` +:manpage:`libmemcached_examples(3)` :manpage:`memcached_clone(3)` +:manpage:`memcached_free(3)` :manpage:`memcached_server_add(3)` +:manpage:`memcached_server_push(3)` :manpage:`memcached_add(3)` +:manpage:`memcached_get(3)` :manpage:`memcached_server_count(3)` +:manpage:`memcached_create(3)` :manpage:`memcached_increment(3)` +:manpage:`memcached_server_list(3)` :manpage:`memcached_set(3)` +:manpage:`memcached_decrement(3)` :manpage:`memcached_mget(3)` +:manpage:`memcached_server_list_append(3)` :manpage:`memcached_strerror(3)` +:manpage:`memcached_delete(3)` :manpage:`memcached_quit(3)` +:manpage:`memcached_server_list_count(3)` :manpage:`memcached_verbosity(3)` +:manpage:`memcached_server_add_unix_socket(3)` +:manpage:`memcached_result_create(3)` :manpage:`memcached_result_free(3)` +:manpage:`memcached_result_key_value(3)` +:manpage:`memcached_result_key_length(3)` +:manpage:`memcached_result_value(3)` :manpage:`memcached_result_length(3)` +:manpage:`memcached_result_flags(3)` :manpage:`memcached_result_cas(3)` +:manpage:`memcached_result_st(3)` :manpage:`memcached_append(3)` +:manpage:`memcached_prepend(3)` :manpage:`memcached_fetch_result(3)` +:manpage:`memerror(1)` :manpage:`memcached_get_by_key(3)` +:manpage:`memcached_mget_by_key(3)` :manpage:`memcached_delete_by_key(3)` +:manpage:`memcached_fetch_execute(3)` :manpage:`memcached_callback_get(3)` +:manpage:`memcached_callback_set(3)` :manpage:`memcached_version(3)` +:manpage:`memcached_lib_version(3)` :manpage:`memcached_result_set_value(3)` +:manpage:`memcached_dump(3)` :manpage:`memdump(1)` +:manpage:`memcached_set_memory_allocators(3)` +:manpage:`memcached_get_memory_allocators(3)` +:manpage:`memcached_get_user_data(3)` :manpage:`memcached_set_user_data(3)`