X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fmemcached_behavior.pod;h=f4246556f7a43c701c8adee8d6eec7348da17af1;hb=b0e52309fcc12077506ff7d0d7d55311d64a073e;hp=c33b2af59a4d9330997eb22efc05aabbd9cf99d0;hpb=1d7f999b7d38db3308a0533a83fea23987fb0178;p=m6w6%2Flibmemcached diff --git a/docs/memcached_behavior.pod b/docs/memcached_behavior.pod index c33b2af5..f4246556 100755 --- a/docs/memcached_behavior.pod +++ b/docs/memcached_behavior.pod @@ -44,6 +44,18 @@ available for storage functions. For read operations it is currently similar in performance to the non-blocking method (this is being looked into). +=item MEMCACHED_BEHAVIOR_SND_TIMEOUT + +This sets the microsecond behavior of the socket against the SO_SNDTIMEO flag. +In cases where you cannot use non-blocking IO this will allow you to still have +timeouts on the sending of data. + +=item MEMCACHED_BEHAVIOR_RCV_TIMEOUT + +This sets the microsecond behavior of the socket against the SO_RCVTIMEO flag. +In cases where you cannot use non-blocking IO this will allow you to still have +timeouts on the reading of data. + =item MEMCACHED_BEHAVIOR_TCP_NODELAY Turns on the no-delay feature for connecting sockets (may be faster in some @@ -52,7 +64,8 @@ environments). =item MEMCACHED_BEHAVIOR_HASH 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, and MEMCACHED_HASH_FNV1A_32. The behavior for all hashes but MEMCACHED_HASH_DEFAULT is identitical to the Java driver written by Dustin Sallings. +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. =item MEMCACHED_BEHAVIOR_DISTRIBUTION @@ -77,6 +90,16 @@ Support CAS operations (this is not enabled by default at this point in the serv Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA and the hash to MEMCACHED_HASH_MD5. +=item MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED + +Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support. +and the hash to MEMCACHED_HASH_MD5. + +=item MEMCACHED_BEHAVIOR_KETAMA_HASH + +Sets the hashing algorithm for host mapping on continuum. 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, and MEMCACHED_HASH_FNV1A_32. + =item MEMCACHED_BEHAVIOR_POLL_TIMEOUT Modify the timeout value that is used by poll(). The default value is -1. An signed int pointer must be passed to memcached_behavior_set() to change this value. For memcached_behavior_get() a signed int value will be cast and returned as the unsigned long long. @@ -111,6 +134,38 @@ sorted order. This will defeat consisten hashing. In non-blocking mode this changes the value of the timeout during socket connection. +=item MEMCACHED_BEHAVIOR_BINARY_PROTOCOL + +Enable the use of the binary protocol. Please note that you cannot toggle +this flag on an open connection. + +=item MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT + +Set this value to enable the server be removed after continuous MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT +times connection failure. + +=item MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK + +Set this value to tune the number of messages that may be sent before +libmemcached should start to automatically drain the input queue. 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_BYTES_WATERMARK + +Set this value to tune the number of bytes that may be sent before +libmemcached should start to automatically drain the input queue (need +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_NOREPLY + +Set this value to specify that you really don't care about the result +from your storage commands (set, add, replace, append, prepend). With +this flag enabled, each storage request will be sent immediately to the +server overriding any setting of MEMCACHED_BEHAVIOR_BUFFER_REQUESTS. + =back =head1 RETURN