X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fmemcached_set.pod;h=13330dcf8932d7cec6da5ec8bb5b0530b71b7932;hb=e16d058ca2e62ff93fca263c54a039eddb9dc080;hp=39dd86d2bd6e21c0d3c0dece90aefaa4d2e1e0bc;hpb=93cab40b9112f97376381038e83240a7b28c24ea;p=awesomized%2Flibmemcached diff --git a/docs/memcached_set.pod b/docs/memcached_set.pod old mode 100755 new mode 100644 index 39dd86d2..13330dcf --- a/docs/memcached_set.pod +++ b/docs/memcached_set.pod @@ -1,6 +1,6 @@ =head1 NAME -memcached_set, memcached_add, memcached_replace +memcached_set, memcached_add, memcached_replace - Store value on server =head1 LIBRARY @@ -10,40 +10,96 @@ C Client Library for memcached (libmemcached, -lmemcached) #include - memcached_return + memcached_return_t memcached_set (memcached_st *ptr, - char *key, size_t key_length, - char *value, size_t value_length, + const char *key, size_t key_length, + const char *value, size_t value_length, time_t expiration, - uint16_t flags); + uint32_t flags); - memcached_return + memcached_return_t memcached_add (memcached_st *ptr, - char *key, size_t key_length, - char *value, size_t value_length, + const char *key, size_t key_length, + const char *value, size_t value_length, time_t expiration, - uint16_t flags); + uint32_t flags); - memcached_return + memcached_return_t memcached_replace (memcached_st *ptr, - char *key, size_t key_length, - char *value, size_t value_length, + const char *key, size_t key_length, + const char *value, size_t value_length, time_t expiration, - uint16_t flags); + uint32_t flags); - memcached_return + memcached_return_t memcached_prepend(memcached_st *ptr, - char *key, size_t key_length, - char *value, size_t value_length, + const char *key, size_t key_length, + const char *value, size_t value_length, time_t expiration, - uint16_t flags) + uint32_t flags) - memcached_return + memcached_return_t memcached_append(memcached_st *ptr, - char *key, size_t key_length, - char *value, size_t value_length, + const char *key, size_t key_length, + const char *value, size_t value_length, time_t expiration, - uint16_t flags) + uint32_t flags) + memcached_return_t + memcached_cas(memcached_st *ptr, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags, + uint64_t cas); + + memcached_return_t + memcached_set_by_key(memcached_st *ptr, + const char *master_key, size_t master_key_length, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags); + + memcached_return_t + memcached_add_by_key(memcached_st *ptr, + const char *master_key, size_t master_key_length, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags); + + memcached_return_t + memcached_replace_by_key(memcached_st *ptr, + const char *master_key, size_t master_key_length, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags); + + memcached_return_t + memcached_prepend_by_key(memcached_st *ptr, + const char *master_key, size_t master_key_length, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags); + + memcached_return_t + memcached_append_by_key(memcached_st *ptr, + const char *master_key, size_t master_key_length, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags); + + memcached_return_t + memcached_cas_by_key(memcached_st *ptr, + const char *master_key, size_t master_key_length, + const char *key, size_t key_length, + const char *value, size_t value_length, + time_t expiration, + uint32_t flags, + uint64_t cas); =head1 DESCRIPTION @@ -71,12 +127,43 @@ stored. Currently expiration and key are not used in the server. memcached_append() places a segment of data at the end of the last piece of data stored. Currently expiration and key are not used in the server. -memcached_set() with non-blocking IO is the fastest way to store data on the -server. +memcached_cas() overwrites data in the server as long as the "cas" value is +still the same in the server. You can get the cas value of a result by +calling memcached_result_cas() on a memcached_result_st(3) structure. At the point +that this note was written cas is still buggy in memached. Turning on support +for it in libmemcached(3) is optional. Please see memcached_set() for +information on how to do this. + +memcached_set_by_key(), memcached_add_by_key(), memcached_replace_by_key(), +memcached_prepend_by_key(), memcached_append_by_key_by_key(), +memcached_cas_by_key() methods all behave in a similar method as the non key +methods. The difference is that they use their master_key parameter to map +objects to particular servers. + +If you are looking for performance, memcached_set() with non-blocking IO is +the fastest way to store data on the server. + +All of the above functions are supported with the C +behavior enabled. But when using these operations with this behavior on, there +are limits to the size of the payload being sent to the server. The reason for +these limits is that the Memcahed Server does not allow multi-datagram requests +and the current server implementation sets a datagram size to 1400 bytes. Due +to protocol overhead, the actual limit of the user supplied data is less than +1400 bytes and depends on the protocol in use as well as the operation being +executed. When running with the binary protocol, C< MEMCACHED_BEHAVIOR_BINARY_PROTOCOL>, +the size of the key,value, flags and expiry combined may not exceed 1368 bytes. +When running with the ASCII protocol, the exact limit fluctuates depending on +which function is being executed and whether the function is a cas operation +or not. For non-cas ASCII set operations, there are at least 1335 bytes available +to split among the key, key_prefix, and value; for cas ASCII operations there are +at least 1318 bytes available to split among the key, key_prefix and value. If the +total size of the command, including overhead, exceeds 1400 bytes, a C +will be returned. + =head1 RETURN -All methods return a value of type C. +All methods return a value of type C. On success the value will be C. Use memcached_strerror() to translate this value to a printable string. @@ -86,7 +173,7 @@ legitmate error in the case of a collision. =head1 HOME To find out more information please check: -L +L =head1 AUTHOR