1..::docs::libmemcached(3) libmemcached ..::docs::libmemcached(3)
2
3
4
6 libmemcached - Client library for memcached
7
9 C Client Library for memcached (libmemcached, -lmemcached)
10
12 #include <memcached.h>
13
15 "Memcached is a high-performance, distributed memory object caching
16 system, generic in nature, but intended for use in speeding up dynamic
17 web applications by alleviating database load."
18 <http://danga.com/memcached/>
19
20 libmemcached is a small, thread-safe client library for the memcached
21 protocol. The code has all been written with an eye to allow for both
22 web and embedded usage. It handles the work behind routing particular
23 keys to specific servers that you specify (and values are matched based
24 on server order as supplied by you). It implements both a modula and
25 consistent method of object distribution.
26
27 There are multiple implemented routing and hashing methods. See the
28 memcached_behavior_set() manpage.
29
30 All operations are performed against a "memcached_st" structure. These
31 structures can either be dynamically allocated or statically allocated
32 and then initialized by memcached_create(). Functions have been written
33 in order to encapsulate the "memcached_st". It is not recommended that
34 you operate directly against the structure.
35
36 Nearly all functions return a "memcached_return" value. This value can
37 be translated to a printable string with memcached_strerror(3).
38
39 Partitioning based on keys is supported in the library. Using the key
40 partioning functions it is possible to group sets of object onto
41 servers.
42
43 "memcached_st" structures are thread-safe, but each thread must contain
44 its own structure (that is, if you want to share these among threads
45 you must provide your own locking). No global variables are used in
46 this library.
47
48 If you are working with GNU autotools you will want to add the
49 following to your configure.ac to properly include libmemcached in your
50 application.
51
52 PKG_CHECK_MODULES(DEPS, libmemcached >= 0.8.0) AC_SUBST(DEPS_CFLAGS)
53 AC_SUBST(DEPS_LIBS)
54
55 Some features of the library must be enabled through
56 memcached_behavior_set().
57
58 Hope you enjoy it!
59
61 A number of constants have been provided for in the library.
62
63 MEMCACHED_DEFAULT_PORT
64 The default port used by memcached(3).
65
66 MEMCACHED_MAX_KEY
67 Default maximum size of a key (which includes the null pointer).
68 Master keys have no limit, this only applies to keys used for
69 storage.
70
71 MEMCACHED_MAX_KEY
72 Default size of key (which includes the null pointer).
73
74 MEMCACHED_STRIDE
75 This is the "stride" used in the consistent hash used between
76 replicas.
77
78 MEMCACHED_MAX_HOST_LENGTH
79 Maximum allowed size of the hostname.
80
81 MEMCACHED_VERSION_STRING
82 String value of libmemcached version such as "1.23.4"
83
84 MEMCACHED_MAJOR_VERSION
85 Major version value. Such as 1.23.4, would be 1
86
87 MEMCACHED_MINOR_VERSION
88 Major version value. Such as 1.23.4, would be 23
89
90 MEMCACHED_MICRO_VERSION
91 Major version value. Such as 1.23.4, would be 4
92
94 When using threads or forked processes it is important to keep an
95 instance of "memcached_st" per process or thread. Without creating your
96 own locking structures you can not share a single "memcached_st". You
97 can though call memcached_quit(3) on a "memcached_st" and then use the
98 resulting cloned structure.
99
101 To find out more information please check:
102 <http://tangent.org/552/libmemcached.html>
103
105 Brian Aker, <brian@tangent.org>
106
108 memcached(1) libmemcached_examples(3) libmemcached(1) memcat(1)
109 memcp(1) memflush(1) memrm(1) memslap(1) memstat(1) memcached_fetch(3)
110 memcached_replace(3) memcached_server_list_free(3)
111 libmemcached_examples(3) memcached_clone(3) memcached_free(3)
112 memcached_server_add(3) memcached_server_push(3) memcached_add(3)
113 memcached_get(3) memcached_server_count(3) memcached_servers_parse(3)
114 memcached_create(3) memcached_increment(3) memcached_server_list(3)
115 memcached_set(3) memcached_decrement(3) memcached_mget(3)
116 memcached_server_list_append(3) memcached_strerror(3)
117 memcached_delete(3) memcached_quit(3) memcached_server_list_count(3)
118 memcached_verbosity(3) memcached_server_add_unix_socket(3)
119 memcached_result_create(3) memcached_result_free(3)
120 memcached_result_key_value(3) memcached_result_key_length(3)
121 memcached_result_value(3) memcached_result_length(3)
122 memcached_result_flags(3) memcached_result_cas(3)
123 memcached_result_st(3) memcached_append(3) memcached_prepend(3)
124 memcached_fetch_result(3) memerror(1) memcached_get_by_key(3)
125 memcached_mget_by_key(3) memcached_delete_by_key(3)
126 memcached_fetch_execute(3) memcached_callback_get(3)
127 memcached_callback_set(3) memcached_version(3) memcached_lib_version(3)
128 memcached_result_set_value(3) memcached_dump(3) memdump(1)
129 memcached_set_memory_allocators(3) memcached_get_memory_allocators(3)
130 memcached_get_user_data(3) memcached_set_user_data(3)
131
132
133
134 2009-06-14 ..::docs::libmemcached(3)