merge upstream
[m6w6/libmemcached] / docs / memcached_behavior.pod
old mode 100755 (executable)
new mode 100644 (file)
index ccccfde..00d7628
@@ -1,6 +1,6 @@
 =head1 NAME
 
-memcached_behavior_get memcached_behavior_set
+memcached_behavior_get, memcached_behavior_set - Manipulate behavior
 
 =head1 LIBRARY
 
@@ -84,6 +84,7 @@ environments).
 Makes the default hashing algorithm for keys use MD5. The value can be set
 to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR. 
 Each hash has it's advantages and it's weaknesses. If you dont know or dont care, just go with the default.
+Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the --enable-hash_hsieh. 
 
 =item MEMCACHED_BEHAVIOR_DISTRIBUTION
 
@@ -177,11 +178,30 @@ at least 10 IO requests sent without reading the input buffer). Setting
 this value to high, may cause libmemcached to deadlock (trying to send 
 data, but the send will block because the input buffer in the kernel is full).
 
+=item MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH
+
+The binary protocol works a bit different than the textual protocol in
+that a multiget is implemented as a pipe of single get-operations which
+are sent to the server in a chunk. If you are using large multigets from
+your application, you may improve the latency of the gets by setting
+this value so you send out the first chunk of requests when you hit the
+specified limit.  It allows the servers to start processing the requests
+to send the data back while the rest of the requests are created and
+sent to the server.
+
 =item MEMCACHED_BEHAVIOR_NOREPLY
 
 Set this value to specify that you really don't care about the result
 from your storage commands (set, add, replace, append, prepend). 
 
+=item MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS
+
+If you just want "a poor mans HA", you may specify the numbers of
+replicas libmemcached should store of each item (on different servers).
+This replication does not dedicate certain memcached servers to store the
+replicas in, but instead it will store the replicas together with all of the
+other objects (on the 'n' next servers specified in your server list).
+
 =back
 
 =head1 RETURN