1LIBMEMCACHED(3)              libmemcached-awesome              LIBMEMCACHED(3)
2
3
4

NAME

6       libmemcached - C/C++ Client Library for memcached
7

SYNOPSIS

9       #include <libmemcached/memcached.h>
10              Compile and link with -lmemcached
11
12
13                                        ----
14
15
16
17       libmemcached  is  an open source C/C++ client library and tools for the
18       memcached server (http://memcached.org/). It has been  designed  to  be
19       light  on  memory usage, thread safe, and provide full access to server
20       side methods.
21
22       libmemcached was designed to provide the greatest number of options  to
23       use Memcached. Some of the features provided:
24
25       1. Asynchronous and Synchronous Transport Support.
26
27       2. Consistent Hashing and Distribution.
28
29       3. Tunable Hashing algorithm to match keys.
30
31       4. Access to large object support.
32
33       5. Local replication.
34
35       6. A complete reference guide and documentation to the API.
36
37       7. Tools to Manage your Memcached networks.
38

DESCRIPTION

40       "Memcached  is  a  high-performance,  distributed memory object caching
41       system, generic in nature, but intended for use in speeding up  dynamic
42       web applications by alleviating database load." http://memcached.org/
43
44       libmemcached  is  a small, thread-safe client library for the memcached
45       protocol. The code has all been written to allow for both web  and  em‐
46       bedded  usage.  It  handles  the work behind routing individual keys to
47       specific servers specified by the developer  (and  values  are  matched
48       based on server order as supplied by the user). It implements a modular
49       and consistent method of object distribution.
50
51       There are multiple implemented routing and  hashing  methods.  See  the
52       memcached_behavior_set() manpage for more information.
53
54       All  operations  are  performed against a memcached_st structure. These
55       structures can either be dynamically allocated or statically  allocated
56       and then initialized by memcached_create(). Functions have been written
57       in order to encapsulate the memcached_st. It is  not  recommended  that
58       you operate directly against the structure.
59
60       Nearly  all functions return a memcached_return_t value. This value can
61       be translated to a printable string with memcached_strerror().
62
63       Objects are stored on servers by hashing keys. The hash value maps  the
64       key  to  a  particular  server. All clients understand how this hashing
65       works, so it is possibly to reliably both push data to a server and re‐
66       trieve data from a server.
67
68       Group  keys  can  be  optionally  used  to  group  sets of objects with
69       servers.
70
71       Namespaces are supported, and can be used to partition caches  so  that
72       multiple applications can use the same memcached servers.
73
74       Some  features  of the library must be enabled through memcached_behav‐
75       ior_set().
76

THREADS AND PROCESSES

78       No global variables are used in this library.
79
80       memcached_st structures are thread-safe,  but  when  using  threads  or
81       forked  processes  it is important to keep one instance of memcached_st
82       per process or thread. Without creating your own locking structures you
83       can  not  share  a  single  memcached_st.  However,  you  can call mem‐
84       cached_quit() on a memcached_st  and  then  use  the  resulting  cloned
85       structure.
86

SYSTEMTAP

88       libmemcached can be built to support Systemtap on Linux when enabled at
89       compile time.
90
91       Please see stap(1) and dtrace(1) for more information about Systemtap.
92

CLIENT PROGRAMS

94       libmemcached comes with a few useful client programs:
95
96       memaslap(1) memcapable(1)  memcat(1)  memcp(1)  memdump(1)  memerror(1)
97       memexist(1) memflush(1) memparse(1) memping(1) memrm(1) memslap(1) mem‐
98       stat(1) memtouch(1)
99

UTILITY LIBRARIES

101       libhashkit(3) libmemcachedutil(3)
102

SEE ALSO

104       memcached(1) libmemcached_configuration(3) libmemcached_examples(3)
105
106       memcached_analyze(3)   memcached_append(3)    memcached_auto(3)    mem‐
107       cached_behavior(3)    memcached_callback(3)    memcached_cas(3)    mem‐
108       cached_create(3)  memcached_delete(3)  memcached_dump(3)  memcached_ex‐
109       ist(3) memcached_fetch(3) memcached_flush(3) memcached_flush_buffers(3)
110       memcached_generate_hash_value(3)  memcached_get(3)   memcached_last_er‐
111       ror_message(3)  memcached_memory_allocators(3)  memcached_pool(3)  mem‐
112       cached_quit(3)   memcached_result_st(3)   memcached_return_t(3)    mem‐
113       cached_sasl(3)    memcached_servers(3)    memcached_server_st(3)   mem‐
114       cached_set(3)  memcached_set_encoding_key(3)  memcached_stats(3)   mem‐
115       cached_strerror(3)   memcached_touch(3)   memcached_user_data(3)   mem‐
116       cached_verbosity(3) memcached_version(3)
117
118
119
120
1211.1                              Sep 20, 2021                  LIBMEMCACHED(3)
Impressum