memcached_servers - Man Page

libmemcached Documentation

Synopsis

#include <libmemcached/memcached.h>

Compile and link with -lmemcached

uint32_t memcached_server_count(memcached_st <#_CPPv412memcached_st> *ptr)
Parameters

ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

Returns

number of configured servers

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_add(memcached_st <#_CPPv412memcached_st> *ptr, const char *hostname, in_port_t port)
Parameters
  • ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct
  • hostname -- hostname or IP address of the TCP server to add
  • port -- port of the TCP server
Returns

memcached_return_t <#_CPPv418memcached_return_t> indicating success

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_add_udp(memcached_st <#_CPPv412memcached_st> *ptr, const char *hostname, in_port_t port)
Parameters
  • ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct
  • hostname -- hostname or IP address of the UDP server to add
  • port -- port of the UDP server
Returns

memcached_return_t <#_CPPv418memcached_return_t> indicating success

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_add_unix_socket(memcached_st <#_CPPv412memcached_st> *ptr, const char *socket)
Parameters
  • ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct
  • socket -- path to the UNIX socket of the server to add
Returns

memcached_return_t <#_CPPv418memcached_return_t> indicating success

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_push(memcached_st <#_CPPv412memcached_st> *ptr, const memcached_server_st *list)
Parameters
  • ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct
  • list -- pre-configured list of servers to push
Returns

memcached_return_t <#_CPPv418memcached_return_t> indicating success

const memcached_instance_st *memcached_server_by_key(memcached_st <#_CPPv412memcached_st> *ptr, const char *key, size_t key_length, memcached_return_t <#_CPPv418memcached_return_t> *error)
Parameters
  • ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct
  • key -- key to hash and lookup a server
  • key_length -- length of key without any terminating zero
  • error -- pointer to memcached_return_t <#_CPPv418memcached_return_t> indicating success
Returns

the server instance to be used for storing/retrieving key

const memcached_instance_st *memcached_server_get_last_disconnect(const memcached_st <#_CPPv412memcached_st> *ptr)
Parameters

ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

Returns

the instance of the last server for which there was a connection problem

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_cursor(const memcached_st <#_CPPv412memcached_st> *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks)
Parameters
  • ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct
  • callback -- list of memcached_server_fn to be called for each server instance
  • context -- pointer to user supplied context for the callback
  • number_of_callbacks -- number of callbacks supplied
Returns

memcached_return_t <#_CPPv418memcached_return_t> indicating success

typedef memcached_return_t <#_CPPv418memcached_return_t> (*memcached_server_fn)(const memcached_st <#_CPPv412memcached_st> *ptr, const memcached_instance_st *server, void *context)
Param ptr

pointer to the memcached_st <#_CPPv412memcached_st> struct

Param server

pointer to memcached_instance_st

Param context

pointer to user supplied context

Returns

memcached_return_t <#_CPPv418memcached_return_t> indicating success

Description

libmemcached performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to memcached_st <#_CPPv412memcached_st> structures. To manipulate lists of servers see memcached_server_st.

memcached_server_count() provides you a count of the current number of servers being used by a memcached_st <#_CPPv412memcached_st> structure.

memcached_server_add() pushes a single TCP server into the memcached_st <#_CPPv412memcached_st> structure. This server will be placed at the end. Duplicate servers are allowed, so duplication is not checked. Executing this function with the MEMCACHED_BEHAVIOR_USE_UDP <#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE> behavior set will result in a MEMCACHED_INVALID_HOST_PROTOCOL <#_CPPv4N18memcached_return_t31MEMCACHED_INVALID_HOST_PROTOCOLE>.

memcached_server_add_udp() pushes a single UDP server into the memcached_st <#_CPPv412memcached_st> structure. This server will be placed at the end. Duplicate servers are allowed, so duplication is not checked. Executing this function without setting the MEMCACHED_BEHAVIOR_USE_UDP <#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE> behavior will result in a MEMCACHED_INVALID_HOST_PROTOCOL <#_CPPv4N18memcached_return_t31MEMCACHED_INVALID_HOST_PROTOCOLE>.

memcached_server_add_unix_socket() pushes a single UNIX socket into the memcached_st <#_CPPv412memcached_st> structure. This UNIX socket will be placed at the end. Duplicate servers are allowed, so duplication is not checked. The length of the filename must be one character less than MEMCACHED_MAX_HOST_LENGTH.

memcached_server_push() pushes an array of memcached_server_st into the memcached_st <#_CPPv412memcached_st> structure. These servers will be placed at the end. Duplicate servers are allowed, so duplication is not checked. A copy is made of structure so the list provided (and any operations on the list) are not saved.

memcached_server_by_key() allows you to provide a key and retrieve the server which would be used for assignment.

memcached_server_get_last_disconnect() returns a pointer to the last server for which there was a connection problem. It does not mean this particular server is currently dead but if the library is reporting a server is, the returned server is a very good candidate.

memcached_server_cursor() takes a memcached_st and loops through the list of hosts currently in the cursor calling the list of callback functions provided. You can optionally pass in a value via context which will be provided to each callback function. An error return from any callback will terminate the loop. memcached_server_cursor() is passed the original caller memcached_st <#_CPPv412memcached_st> in its current state.

Return Value

Varies, see particular functions.

See Also

memcached(1) <https://linux.die.net/man/1/memcached> libmemcached(3) <https://linux.die.net/man/3/libmemcached> memcached_server_st(3) <https://linux.die.net/man/3/memcached_server_st> memcached_strerror(3) <https://linux.die.net/man/3/memcached_strerror>

Referenced By

libmemcached(3), memcached_server_list_append(3), memcached_server_list_count(3), memcached_server_list_free(3), memcached_servers_parse(3).

Jan 21, 2026 1.1 libmemcached-awesome