- #include <libmemcached-1.0/memcached.h>
- Compile and link with -lmemcached
libmemcached implements a custom language for configuring
and modifying servers. By passing in an option string you can generate a
memcached_st <#_CPPv412memcached_st> object that you can use in
your application directly.
- --VERIFY-KEY
- Verify that keys that are being used fit within the design of the protocol
being used.
- --REMOVE_FAILED_SERVERS
- Enable the behavior MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS
<#_CPPv4N20memcached_behavior_t40MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERSE>.
- --BUFFER-REQUESTS
- Please see MEMCACHED_BEHAVIOR_BUFFER_REQUESTS
<#_CPPv4N20memcached_behavior_t34MEMCACHED_BEHAVIOR_BUFFER_REQUESTSE>.
- --CONFIGURE-FILE=
- Provide a configuration file to be used to load requests. Beware that by
using a configuration file libmemcached will reset
memcached_st <#_CPPv412memcached_st> based on information
only contained in the file.
- --CONNECT-TIMEOUT=
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT
<#_CPPv4N20memcached_behavior_t34MEMCACHED_BEHAVIOR_CONNECT_TIMEOUTE>.
- --DISTRIBUTION=
- Set the distribution model used by the client. See
memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for more details.
- --HASH=
- Set the hashing algorithm used for placing keys on servers.
- --HASH-WITH-NAMESPACE
- When enabled the prefix key will be added to the key when determining
which server to store the data in.
- --NOREPLY
- Enable "no reply" for all calls that support this. It is highly
recommended that you use this option with the binary protocol only.
- --SORT-HOSTS
- When adding new servers always calculate their distribution based on
sorted naming order.
- --SUPPORT-CAS
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_SUPPORT_CAS
<#_CPPv4N20memcached_behavior_t30MEMCACHED_BEHAVIOR_SUPPORT_CASE>
- --USE-UDP
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_USE_UDP
<#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE>
- --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.
- --TCP-NODELAY
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_TCP_NODELAY
<#_CPPv4N20memcached_behavior_t30MEMCACHED_BEHAVIOR_TCP_NODELAYE>
- --TCP-KEEPALIVE
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_TCP_KEEPALIVE
- --RETRY-TIMEOUT=
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_RETRY_TIMEOUT
<#_CPPv4N20memcached_behavior_t32MEMCACHED_BEHAVIOR_RETRY_TIMEOUTE>
- --SERVER-FAILURE-LIMIT=
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT
<#_CPPv4N20memcached_behavior_t39MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMITE>
- --SND-TIMEOUT=
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_SND_TIMEOUT
<#_CPPv4N20memcached_behavior_t30MEMCACHED_BEHAVIOR_SND_TIMEOUTE>
- --SOCKET-RECV-SIZE=
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE
<#_CPPv4N20memcached_behavior_t35MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZEE>
- --SOCKET-SEND-SIZE=
- See memcached_behavior_set()
<#_CPPv422memcached_behavior_setP12memcached_st20memcached_behavior_t8uint64_t>
for MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE
<#_CPPv4N20memcached_behavior_t35MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZEE>
- INCLUDE
- Include a file in configuration. Unlike --CONFIGURE-FILE= this will
not reset memcached_st <#_CPPv412memcached_st>.
- RESET
- Reset memcached_st <#_CPPv412memcached_st> and continue to
process.
- END
- End configuration processing.
- ERROR
- End configuration processing and throw an error.
memcached() returns a pointer to the memcached_st
<#_CPPv412memcached_st> that was created (or initialized). On an
allocation failure, it returns NULL.
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);