X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Flibmemcached_configuration.rst;h=2f3da9d44b991ae3e5a4035afd7776940bbf9815;hb=fc72bfb155d6938e6d4b7b0e24a6256d88c2a7c3;hp=5cb353746090f0be1cb5675428770349915b3e65;hpb=1a237369acc2140ec76f46202dfde37047ef140d;p=m6w6%2Flibmemcached diff --git a/docs/libmemcached_configuration.rst b/docs/libmemcached_configuration.rst index 5cb35374..2f3da9d4 100644 --- a/docs/libmemcached_configuration.rst +++ b/docs/libmemcached_configuration.rst @@ -2,19 +2,46 @@ Configuring Libmemcached ======================== -Libmemcached implements a custom language for configuring and modifying servers. +.. highlightlang:: c + +-------- +SYNOPSIS +-------- + +#include + +.. envvar:: LIBMEMCACHED + +.. c:function:: memcached_st *memcached(const char *string, size_t string_length) + +.. c:function:: memcached_return_t libmemcached_check_configuration(const char *option_string, size_t length, char *error_buffer, size_t error_buffer_size) + +Compile and link with -lmemcached + + +----------- +DESCRIPTION +----------- + +Libmemcached implements a custom language for configuring and modifying +servers. By passing in an option string you can generate a ``memcached_st`` object +that you can use in your application directly. .. describe:: --SERVER=:/? Provide a servername to be used by the client. Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1. +.. describe:: --SOCKET=\"/?\" + +Provide a filepath to a UNIX socket file. Providing a weight will cause weighting to occur with all hosts with each server getting a default weight of 1. + .. describe:: --VERIFY-KEY Verify that keys that are being used fit within the design of the protocol being used. -.. describe:: --AUTO-EJECT_HOSTS +.. describe:: --REMOVE_FAILED_SERVERS -Enable the behavior MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS. +Enable the behavior MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS. .. describe:: --BINARY-PROTOCOL @@ -40,27 +67,66 @@ Set the distribution model used by the client. See :manpage:`` for more details Set the hashing alogrthm used for placing keys on servers. -.. describe:: --HASH-WITH-PREFIX_KEY +.. describe:: --HASH-WITH-NAMESPACE -.. describe:: --IO-BYTES-WATERMARK= - -.. describe:: --IO-KEY-PREFETCH= - -.. describe:: --IO-MSG-WATERMARK= +When enabled the prefix key will be added to the key when determining which +server to store the data in. .. describe:: --NOREPLY +Enable "no reply" for all calls that support this. It is highly recommended +that you use this option with the binary protocol only. + .. describe:: --NUMBER-OF-REPLICAS= Set the nummber of servers that keys will be replicated to. -.. describe:: --POLL-TIMEOUT= - .. describe:: --RANDOMIZE-REPLICA-READ Select randomly the server within the replication pool to read from. -.. describe:: --RCV-TIMEOUT= +.. describe:: --SORT-HOSTS + +When adding new servers always calculate their distribution based on sorted naming order. + +.. describe:: --SUPPORT-CAS + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SUPPORT_CAS + +.. describe:: --USE-UDP + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_USE_UDP + +.. describe:: --NAMESPACE= + +A namespace is a container that provides context for keys, only other +requests that know the namespace can access these values. This is +accomplished by prepending the namespace value to all keys. + + +********************** +Mecached Pool Options: +********************** + +.. describe:: --POOL-MIN + +Initial size of pool. + +.. describe:: --POOL-MAX + +Maximize size of the pool. + +************ +I/O Options: +************ + +.. describe:: --TCP-NODELAY + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_NODELAY + +.. describe:: --TCP-KEEPALIVE + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE .. describe:: --RETRY-TIMEOUT= @@ -82,29 +148,26 @@ See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE -.. describe:: --SORT-HOSTS +.. describe:: --POLL-TIMEOUT= -When adding new servers always calculate their distribution based on sorted naming order. +That sets the value of the timeout used by :manpage: `poll()`. -.. describe:: --SUPPORT-CAS +.. describe:: --IO-BYTES-WATERMARK= -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SUPPORT_CAS +.. describe:: --IO-KEY-PREFETCH= -.. describe:: --TCP-NODELAY +.. describe:: --IO-MSG-WATERMARK= -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_NODELAY +.. describe:: --TCP-KEEPIDLE -.. describe:: --TCP-KEEPALIVE +.. describe:: --RCV-TIMEOUT= -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE -.. describe:: --TCP-KEEPIDLE -.. describe:: --USE-UDP +****** +Other: +****** -See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_USE_UDP - -.. describe:: --PREFIX-KEY= .. describe:: INCLUDE @@ -121,3 +184,47 @@ End configutation processing. .. describe:: ERROR End configutation processing and throw an error. + + +------ +RETURN +------ + + +:c:func:`memcached()` returns a pointer to the memcached_st that was +created (or initialized). On an allocation failure, it returns NULL. + + + +------- +EXAMPLE +------- + + +.. code-block:: c + + 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); + + + +---- +HOME +---- + + +To find out more information please check: +`http://libmemcached.org/ `_ + + + +-------- +SEE ALSO +-------- + + +:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`