Memcached Client Routines
[APR Utility Functions]

Data Structures

struct  apr_memcache_server_t
struct  apr_memcache_t
struct  apr_memcache_value_t
struct  apr_memcache_stats_t

Typedefs

typedef struct apr_memcache_conn_t apr_memcache_conn_t
typedef struct
apr_memcache_server_t 
apr_memcache_server_t
typedef apr_uint32_t(* apr_memcache_hash_func )(void *baton, const char *data, const apr_size_t data_len)
typedef struct apr_memcache_t apr_memcache_t
typedef apr_memcache_server_t *(* apr_memcache_server_func )(void *baton, apr_memcache_t *mc, const apr_uint32_t hash)

Enumerations

enum  apr_memcache_server_status_t { APR_MC_SERVER_LIVE, APR_MC_SERVER_DEAD }

Functions

apr_uint32_t apr_memcache_hash (apr_memcache_t *mc, const char *data, const apr_size_t data_len)
apr_uint32_t apr_memcache_hash_crc32 (void *baton, const char *data, const apr_size_t data_len)
apr_uint32_t apr_memcache_hash_default (void *baton, const char *data, const apr_size_t data_len)
apr_memcache_server_tapr_memcache_find_server_hash (apr_memcache_t *mc, const apr_uint32_t hash)
apr_memcache_server_tapr_memcache_find_server_hash_default (void *baton, apr_memcache_t *mc, const apr_uint32_t hash)
apr_status_t apr_memcache_add_server (apr_memcache_t *mc, apr_memcache_server_t *server)
apr_memcache_server_tapr_memcache_find_server (apr_memcache_t *mc, const char *host, apr_port_t port)
apr_status_t apr_memcache_enable_server (apr_memcache_t *mc, apr_memcache_server_t *ms)
apr_status_t apr_memcache_disable_server (apr_memcache_t *mc, apr_memcache_server_t *ms)
apr_status_t apr_memcache_server_create (apr_pool_t *p, const char *host, apr_port_t port, apr_uint32_t min, apr_uint32_t smax, apr_uint32_t max, apr_uint32_t ttl, apr_memcache_server_t **ns)
apr_status_t apr_memcache_create (apr_pool_t *p, apr_uint16_t max_servers, apr_uint32_t flags, apr_memcache_t **mc)
apr_status_t apr_memcache_getp (apr_memcache_t *mc, apr_pool_t *p, const char *key, char **baton, apr_size_t *len, apr_uint16_t *flags)
void apr_memcache_add_multget_key (apr_pool_t *data_pool, const char *key, apr_hash_t **values)
apr_status_t apr_memcache_multgetp (apr_memcache_t *mc, apr_pool_t *temp_pool, apr_pool_t *data_pool, apr_hash_t *values)
apr_status_t apr_memcache_set (apr_memcache_t *mc, const char *key, char *baton, const apr_size_t data_size, apr_uint32_t timeout, apr_uint16_t flags)
apr_status_t apr_memcache_add (apr_memcache_t *mc, const char *key, char *baton, const apr_size_t data_size, apr_uint32_t timeout, apr_uint16_t flags)
apr_status_t apr_memcache_replace (apr_memcache_t *mc, const char *key, char *baton, const apr_size_t data_size, apr_uint32_t timeout, apr_uint16_t flags)
apr_status_t apr_memcache_delete (apr_memcache_t *mc, const char *key, apr_uint32_t timeout)
apr_status_t apr_memcache_incr (apr_memcache_t *mc, const char *key, apr_int32_t n, apr_uint32_t *nv)
apr_status_t apr_memcache_decr (apr_memcache_t *mc, const char *key, apr_int32_t n, apr_uint32_t *new_value)
apr_status_t apr_memcache_version (apr_memcache_server_t *ms, apr_pool_t *p, char **baton)
apr_status_t apr_memcache_stats (apr_memcache_server_t *ms, apr_pool_t *p, apr_memcache_stats_t **stats)

Typedef Documentation

Opaque memcache client connection object

Memcache Server Info Object


Enumeration Type Documentation

Specifies the status of a memcached server

Enumerator:
APR_MC_SERVER_LIVE 

Server is alive and responding to requests

APR_MC_SERVER_DEAD 

Server is not responding to requests


Function Documentation

apr_status_t apr_memcache_add ( apr_memcache_t mc,
const char *  key,
char *  baton,
const apr_size_t  data_size,
apr_uint32_t  timeout,
apr_uint16_t  flags 
)

Adds value by key on the server

Parameters:
mc client to use
Parameters:
key null terminated string containing the key
Parameters:
baton data to store on the server
Parameters:
data_size length of data at baton
Parameters:
timeout time for the data to live on the server
Parameters:
flags any flags set by the client for this key
Returns:
APR_SUCCESS if the key was added, APR_EEXIST if the key already exists on the server.
void apr_memcache_add_multget_key ( apr_pool_t *  data_pool,
const char *  key,
apr_hash_t **  values 
)

Add a key to a hash for a multiget query if the hash (*value) is NULL it will be created

Parameters:
data_pool pool from where the hash and their items are created from
Parameters:
key null terminated string containing the key
Parameters:
values hash of keys and values that this key will be added to
Returns:
apr_status_t apr_memcache_add_server ( apr_memcache_t mc,
apr_memcache_server_t server 
)

Adds a server to a client object

Parameters:
mc The memcache client object to use
Parameters:
server Server to add
Remarks:
Adding servers is not thread safe, and should be done once at startup.
Warning:
Changing servers after startup may cause keys to go to different servers.
apr_status_t apr_memcache_create ( apr_pool_t *  p,
apr_uint16_t  max_servers,
apr_uint32_t  flags,
apr_memcache_t **  mc 
)

Creates a new memcached client object

Parameters:
p Pool to use
Parameters:
max_servers maximum number of servers
Parameters:
flags Not currently used
Parameters:
mc location of the new memcache client object
apr_status_t apr_memcache_decr ( apr_memcache_t mc,
const char *  key,
apr_int32_t  n,
apr_uint32_t *  new_value 
)

Decrements a value

Parameters:
mc client to use
Parameters:
key null terminated string containing the key
Parameters:
n number to decrement by
Parameters:
new_value new value after decrementing
apr_status_t apr_memcache_delete ( apr_memcache_t mc,
const char *  key,
apr_uint32_t  timeout 
)

Deletes a key from a server

Parameters:
mc client to use
Parameters:
key null terminated string containing the key
Parameters:
timeout time for the delete to stop other clients from adding
apr_status_t apr_memcache_disable_server ( apr_memcache_t mc,
apr_memcache_server_t ms 
)

Disable a Server

Parameters:
mc The memcache client object to use
Parameters:
ms Server to Disable
apr_status_t apr_memcache_enable_server ( apr_memcache_t mc,
apr_memcache_server_t ms 
)

Enables a Server for use again

Parameters:
mc The memcache client object to use
Parameters:
ms Server to Activate
apr_memcache_server_t* apr_memcache_find_server ( apr_memcache_t mc,
const char *  host,
apr_port_t  port 
)

Finds a Server object based on a hostname/port pair

Parameters:
mc The memcache client object to use
Parameters:
host Hostname of the server
Parameters:
port Port of the server
Returns:
Server with matching Hostname and Port, or NULL if none was found.
apr_memcache_server_t* apr_memcache_find_server_hash ( apr_memcache_t mc,
const apr_uint32_t  hash 
)

Picks a server based on a hash

Parameters:
mc The memcache client object to use
Parameters:
hash Hashed value of a Key
Returns:
server that controls specified hash
See also:
apr_memcache_hash
apr_memcache_server_t* apr_memcache_find_server_hash_default ( void *  baton,
apr_memcache_t mc,
const apr_uint32_t  hash 
)

server selection compatible with the standard Perl Client.

apr_status_t apr_memcache_getp ( apr_memcache_t mc,
apr_pool_t *  p,
const char *  key,
char **  baton,
apr_size_t *  len,
apr_uint16_t *  flags 
)

Gets a value from the server, allocating the value out of p

Parameters:
mc client to use
Parameters:
p Pool to use
Parameters:
key null terminated string containing the key
Parameters:
baton location of the allocated value
Parameters:
len length of data at baton
Parameters:
flags any flags set by the client for this key
Returns:
apr_uint32_t apr_memcache_hash ( apr_memcache_t mc,
const char *  data,
const apr_size_t  data_len 
)

Creates a crc32 hash used to split keys between servers

Parameters:
mc The memcache client object to use
Parameters:
data Data to be hashed
Parameters:
data_len Length of the data to use
Returns:
crc32 hash of data
Remarks:
The crc32 hash is not compatible with old memcached clients.
apr_uint32_t apr_memcache_hash_crc32 ( void *  baton,
const char *  data,
const apr_size_t  data_len 
)

Pure CRC32 Hash. Used by some clients.

apr_uint32_t apr_memcache_hash_default ( void *  baton,
const char *  data,
const apr_size_t  data_len 
)

hash compatible with the standard Perl Client.

apr_status_t apr_memcache_incr ( apr_memcache_t mc,
const char *  key,
apr_int32_t  n,
apr_uint32_t *  nv 
)

Increments a value

Parameters:
mc client to use
Parameters:
key null terminated string containing the key
Parameters:
n number to increment by
Parameters:
nv new value after incrementing
apr_status_t apr_memcache_multgetp ( apr_memcache_t mc,
apr_pool_t *  temp_pool,
apr_pool_t *  data_pool,
apr_hash_t *  values 
)

Gets multiple values from the server, allocating the values out of p

Parameters:
mc client to use
Parameters:
temp_pool Pool used for temporary allocations. May be cleared inside this call.
Parameters:
data_pool Pool used to allocate data for the returned values.
Parameters:
values hash of apr_memcache_value_t keyed by strings, contains the result of the multiget call.
Returns:
apr_status_t apr_memcache_replace ( apr_memcache_t mc,
const char *  key,
char *  baton,
const apr_size_t  data_size,
apr_uint32_t  timeout,
apr_uint16_t  flags 
)

Replaces value by key on the server

Parameters:
mc client to use
Parameters:
key null terminated string containing the key
Parameters:
baton data to store on the server
Parameters:
data_size length of data at baton
Parameters:
timeout time for the data to live on the server
Parameters:
flags any flags set by the client for this key
Returns:
APR_SUCCESS if the key was added, APR_EEXIST if the key did not exist on the server.
apr_status_t apr_memcache_server_create ( apr_pool_t *  p,
const char *  host,
apr_port_t  port,
apr_uint32_t  min,
apr_uint32_t  smax,
apr_uint32_t  max,
apr_uint32_t  ttl,
apr_memcache_server_t **  ns 
)

Creates a new Server Object

Parameters:
p Pool to use
Parameters:
host hostname of the server
Parameters:
port port of the server
Parameters:
min minimum number of client sockets to open
Parameters:
smax soft maximum number of client connections to open
Parameters:
max hard maximum number of client connections
Parameters:
ttl time to live in microseconds of a client connection
Parameters:
ns location of the new server object
See also:
apr_reslist_create
Remarks:
min, smax, and max are only used when APR_HAS_THREADS
apr_status_t apr_memcache_set ( apr_memcache_t mc,
const char *  key,
char *  baton,
const apr_size_t  data_size,
apr_uint32_t  timeout,
apr_uint16_t  flags 
)

Sets a value by key on the server

Parameters:
mc client to use
Parameters:
key null terminated string containing the key
Parameters:
baton data to store on the server
Parameters:
data_size length of data at baton
Parameters:
timeout time in seconds for the data to live on the server
Parameters:
flags any flags set by the client for this key
apr_status_t apr_memcache_stats ( apr_memcache_server_t ms,
apr_pool_t *  p,
apr_memcache_stats_t **  stats 
)

Query a server for statistics

Parameters:
ms server to query
Parameters:
p Pool to allocate answer from
Parameters:
stats location of the new statistics structure
apr_status_t apr_memcache_version ( apr_memcache_server_t ms,
apr_pool_t *  p,
char **  baton 
)

Query a server's version

Parameters:
ms server to query
Parameters:
p Pool to allocate answer from
Parameters:
baton location to store server version string
Parameters:
len length of the server version string
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Generated on Thu Dec 24 03:22:13 2015 for Apache Portable Runtime Utility Library by  doxygen 1.6.3