memcached_fetch_result.3\\r
memcached_free.3\\r
memcached_get.3\\r
+ memcached_get_by_key.3\\r
memcached_increment.3\\r
memcached_mget.3\\r
+ memcached_mget_by_key.3\\r
memcached_prepend.3\\r
memcached_replace.3\\r
memcached_server_add.3\\r
memcached_get.3: memcached_get.pod\r
pod2man -c "libmemcached" -r "" -s 3 memcached_get.pod > memcached_get.3\r
\r
+memcached_get_by_key.3: memcached_get.pod\r
+ pod2man -c "libmemcached" -r "" -s 3 memcached_get.pod > memcached_get_by_key.3\r
+\r
memcached_fetch_result.3: memcached_get.pod\r
pod2man -c "libmemcached" -r "" -s 3 memcached_get.pod > memcached_fetch_result.3\r
\r
memcached_mget.3: memcached_get.pod\r
pod2man -c "libmemcached" -r "" -s 3 memcached_get.pod > memcached_mget.3\r
\r
+memcached_mget_by_key.3: memcached_get.pod\r
+ pod2man -c "libmemcached" -r "" -s 3 memcached_get.pod > memcached_mget_by_key.3\r
+\r
memcached_fetch.3: memcached_get.pod\r
pod2man -c "libmemcached" -r "" -s 3 memcached_get.pod > memcached_fetch.3\r
\r
memcached protocol. The code has all been written with an eye to allow
for both web and embedded usage. It handles the work behind routing
particular keys to specific servers that you specify (and values are
-matched based on server order as supplied by you).
+matched based on server order as supplied by you). It implements both
+a modula and consistent method of object distribution.
The aim is to support multiple routing and hashing methods. Currently only
two hashing methods are supported, a quick built-in routine, and MD5. For
Nearly all functions return a C<memcached_return> value.
This value can be translated to a printable string with memcached_strerr(3).
+Partitioning based on keys is supported in the library. Using the key partioning
+functions it is possible to group sets of object onto servers.
+
C<memcached_st> structures are thread-safe, but each thread must
contain its own structure (that is, if you want to share these among
threads you must provide your own locking). No global variables are
=head1 SEE ALSO
-memcached(1) libmemcached_examples(3) libmemcached(1) memcat(1) memcp(1) memflush(1) memrm(1) memslap(1) memstat(1) memcached_fetch(3) memcached_replace(3) memcached_server_list_free(3) libmemcached_examples(3) memcached_clone(3) memcached_free(3) memcached_server_add(3) memcached_server_push(3) memcached_add(3) memcached_get(3) memcached_server_count(3) memcached_servers_parse(3) memcached_create(3) memcached_increment(3) memcached_server_list(3) memcached_set(3) memcached_decrement(3) memcached_mget(3) memcached_server_list_append(3) memcached_strerror(3) memcached_delete(3) memcached_quit(3) memcached_server_list_count(3) memcached_verbosity(3) memcached_server_add_unix_socket(3) memcahed_result_create(3) memcached_result_free(3) memcached_result_key_value(3) memcached_result_key_length(3) memcached_result_value(3) memcached_result_length(3) memcached_result_flags(3) memcached_result_cas(3) memcached_result_st(3) memcached_append(3) memcached_prepend(3) memcached_fetch_result(3) memerror(1)
+memcached(1) libmemcached_examples(3) libmemcached(1) memcat(1) memcp(1) memflush(1) memrm(1) memslap(1) memstat(1) memcached_fetch(3) memcached_replace(3) memcached_server_list_free(3) libmemcached_examples(3) memcached_clone(3) memcached_free(3) memcached_server_add(3) memcached_server_push(3) memcached_add(3) memcached_get(3) memcached_server_count(3) memcached_servers_parse(3) memcached_create(3) memcached_increment(3) memcached_server_list(3) memcached_set(3) memcached_decrement(3) memcached_mget(3) memcached_server_list_append(3) memcached_strerror(3) memcached_delete(3) memcached_quit(3) memcached_server_list_count(3) memcached_verbosity(3) memcached_server_add_unix_socket(3) memcahed_result_create(3) memcached_result_free(3) memcached_result_key_value(3) memcached_result_key_length(3) memcached_result_value(3) memcached_result_length(3) memcached_result_flags(3) memcached_result_cas(3) memcached_result_st(3) memcached_append(3) memcached_prepend(3) memcached_fetch_result(3) memerror(1) memcached_get_by_key() memcached_mget_by_key()
=cut
memcached_mget (memcached_st *ptr,
char **keys, size_t *key_length,
unsigned int number_of_keys);
+ char *
+ memcached_get_by_key(memcached_st *ptr,
+ char *master_key, size_t master_key_length,
+ char *key, size_t key_length,
+ size_t *value_length,
+ uint16_t *flags,
+ memcached_return *error);
+
+ memcached_return
+ memcached_mget_by_key(memcached_st *ptr,
+ char *master_key, size_t master_key_length,
+ char **keys, size_t *key_length,
+ unsigned int number_of_keys);
char *memcached_fetch (memcached_st *ptr,
char *key, size_t *key_length,
help. This function will dynamically allocate a result structure for you
if you do not pass one to the function.
+memcached_get_by_key() and memcached_mget_by_key() behave in a similar nature
+as memcached_get() and memcached_mget(). The difference is that they take
+a master key that is used for determining which server an object was stored
+if key partitioning was used for storage.
+
=head1 RETURN
All objects returned must be freed by the calling application.
%{_mandir}/man3/memcached_fetch_result.3.gz
%{_mandir}/man3/memcached_free.3.gz
%{_mandir}/man3/memcached_get.3.gz
+%{_mandir}/man3/memcached_get_by_key.3.gz
%{_mandir}/man3/memcached_increment.3.gz
%{_mandir}/man3/memcached_mget.3.gz
+%{_mandir}/man3/memcached_mget_by_key.3.gz
%{_mandir}/man3/memcached_prepend.3.gz
%{_mandir}/man3/memcached_quit.3.gz
%{_mandir}/man3/memcached_replace.3.gz