X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Flibmemcached_configuration.rst;h=2f3da9d44b991ae3e5a4035afd7776940bbf9815;hb=fc72bfb155d6938e6d4b7b0e24a6256d88c2a7c3;hp=86b7cbe9febcbc01a02b0e7eb2d2220ec90303ce;hpb=e668c212d13197abf5d8e2ddc7916057c94325b6;p=m6w6%2Flibmemcached diff --git a/docs/libmemcached_configuration.rst b/docs/libmemcached_configuration.rst index 86b7cbe9..2f3da9d4 100644 --- a/docs/libmemcached_configuration.rst +++ b/docs/libmemcached_configuration.rst @@ -2,4 +2,229 @@ 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:: --REMOVE_FAILED_SERVERS + +Enable the behavior MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS. + +.. describe:: --BINARY-PROTOCOL + +Force all connections to use the binary protocol. + +.. describe:: --BUFFER-REQUESTS + +Enable MEMCACHED_BEHAVIOR_BUFFER_REQUESTS. + +.. describe:: --CONFIGURE-FILE= + +Provide a configuration file to be used to load requests. Beware that by using a configuration file libmemcached will reset memcached_st based on information only contained in the file. + +.. describe:: --CONNECT-TIMEOUT= + +Enable MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT. + +.. describe:: --DISTRIBUTION= + +Set the distribution model used by the client. See :manpage:`` for more details. + +.. describe:: --HASH= + +Set the hashing alogrthm used for placing keys on servers. + +.. describe:: --HASH-WITH-NAMESPACE + +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:: --RANDOMIZE-REPLICA-READ + +Select randomly the server within the replication pool to read from. + +.. 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= + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_RETRY_TIMEOUT + +.. describe:: --SERVER-FAILURE-LIMIT= + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT + +.. describe:: --SND-TIMEOUT= + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SND_TIMEOUT + +.. describe:: --SOCKET-RECV-SIZE= + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE + +.. describe:: --SOCKET-SEND-SIZE= + +See :manpage:`memcached_behavior_set(3)` for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE + +.. describe:: --POLL-TIMEOUT= + +That sets the value of the timeout used by :manpage: `poll()`. + +.. describe:: --IO-BYTES-WATERMARK= + +.. describe:: --IO-KEY-PREFETCH= + +.. describe:: --IO-MSG-WATERMARK= + +.. describe:: --TCP-KEEPIDLE + +.. describe:: --RCV-TIMEOUT= + + + +****** +Other: +****** + + +.. describe:: INCLUDE + +Include a file in configuration. Unlike --CONFIGURE-FILE= this will not reset memcached_st + +.. describe:: RESET + +Reset memcached_st and continue to process. + +.. describe:: END + +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)`