X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fmemcached_behavior.pod;h=bce0b9e84c92d395df01cf465b12902ed5e40bd0;hb=29da9304fc64e62ae3c80916bac92d38c41f7f79;hp=68714fb4a956b17369eed0e2bc607d8bb332fdfa;hpb=e14aa2d3a2cb1aa64f8028d572741f60ca2cb0a1;p=awesomized%2Flibmemcached diff --git a/docs/memcached_behavior.pod b/docs/memcached_behavior.pod index 68714fb4..bce0b9e8 100755 --- a/docs/memcached_behavior.pod +++ b/docs/memcached_behavior.pod @@ -37,6 +37,26 @@ memcached_behavior_set() will flush and reset all connections. =over 4 +=item MEMCACHED_BEHAVIOR_USE_UDP + +Causes libmemcached(3) to use the UDP transport when communicating +with a memcached server. Not all I/O operations are supported +when this behavior is enababled. The following operations will return +C when executed with the MEMCACHED_BEHAVIOR_USE_UDP +enabled: memcached_version(), memcached_stat(), memcached_get(), +memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(), +memcached_fetch(), memcached_fetch_result(), memcached_value_fetch(). + +All other operations are supported but are executed in a 'fire-and-forget' +mode, in which once the client has executed the operation, no attempt +will be made to ensure the operation has been received and acted on by the +server. + +libmemcached(3) does not allow TCP and UDP servers to be shared within +the same libmemached(3) client 'instance'. An attempt to add a TCP server +when this behavior is enabled will result in a C, +as will attempting to add a UDP server when this behavior has not been enabled. + =item MEMCACHED_BEHAVIOR_NO_BLOCK Causes libmemcached(3) to use asychronous IO. This is the fastest transport @@ -64,7 +84,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 @@ -143,6 +164,26 @@ this flag on an open connection. 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). + =back =head1 RETURN