X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Fman%2Fmemcached_get_by_key.3;h=d6f8f47191287486ba81088c5af0ce671a4cd59e;hb=20671681ff4e13ed84be72b699f71a90337245cd;hp=b9cc57f318e6505290efee7aebf4ecf7c41500d2;hpb=1c5912a525fe2b06a185f97bb078ca6f782da3a4;p=m6w6%2Flibmemcached diff --git a/docs/man/memcached_get_by_key.3 b/docs/man/memcached_get_by_key.3 index b9cc57f3..c5fac8ca 100644 --- a/docs/man/memcached_get_by_key.3 +++ b/docs/man/memcached_get_by_key.3 @@ -1,6 +1,6 @@ -.TH "MEMCACHED_GET_BY_KEY" "3" "April 08, 2011" "0.47" "libmemcached" +.TH "MEMCACHED_GET_BY_KEY" "3" "April 09, 2012" "1.0.6" "libmemcached" .SH NAME -memcached_get_by_key \- libmemcached Documentation +memcached_get_by_key \- Retrieving data from the server . .nr rst2man-indent-level 0 . @@ -30,177 +30,132 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .\" Man page generated from reStructeredText. . -.sp -Get a value -.SH LIBRARY -.sp -C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS .sp -.nf -.ft C #include - -memcached_result_st * - memcached_fetch_result (memcached_st *ptr, - memcached_result_st *result, - memcached_return_t *error); - -char * - memcached_get (memcached_st *ptr, - const char *key, size_t key_length, - size_t *value_length, - uint32_t *flags, - memcached_return_t *error); - -memcached_return_t - memcached_mget (memcached_st *ptr, - const char * const *keys, - const size_t *key_length, - size_t number_of_keys); -char * - memcached_get_by_key (memcached_st *ptr, - const char *master_key, size_t master_key_length, - const char *key, size_t key_length, - size_t *value_length, - uint32_t *flags, - memcached_return_t *error); - -memcached_return_t - memcached_mget_by_key (memcached_st *ptr, - const char *master_key, size_t master_key_length, - const char * const *keys, - const size_t *key_length, - size_t number_of_keys); - -char * - memcached_fetch (memcached_st *ptr, - char *key, size_t *key_length, - size_t *value_length, - uint32_t *flags, - memcached_return_t *error); - -memcached_return_t - memcached_fetch_execute (memcached_st *ptr, - memcached_execute_fn *callback, - void *context, - uint32_t number_of_callbacks); - - -memcached_return_t - memcached_mget_execute (memcached_st *ptr, - const char * const *keys, - const size_t *key_length, - size_t number_of_keys, - memcached_execute_fn *callback, - void *context, - uint32_t number_of_callbacks); - -memcached_return_t - memcached_mget_execute_by_key (memcached_st *ptr, - const char *master_key, - size_t master_key_length, - const char * const *keys, - const size_t *key_length, - size_t number_of_keys, - memcached_execute_fn *callback, - void *context, - uint32_t number_of_callbacks); -.ft P -.fi +.INDENT 0.0 +.TP +.B memcached_result_st * memcached_fetch_result(memcached_st\fI\ *ptr\fP, memcached_result_st\fI\ *result\fP, memcached_return_t\fI\ *error\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B char * memcached_get(memcached_st\fI\ *ptr\fP, const char\fI\ *key\fP, size_t\fI\ key_length\fP, size_t\fI\ *value_length\fP, uint32_t\fI\ *flags\fP, memcached_return_t\fI\ *error\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_mget(memcached_st\fI\ *ptr\fP, const char * const\fI\ *keys\fP, const size_t\fI\ *key_length\fP, size_t\fI\ number_of_keys\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B char * memcached_get_by_key(memcached_st\fI\ *ptr\fP, const char\fI\ *group_key\fP, size_t\fI\ group_key_length\fP, const char\fI\ *key\fP, size_t\fI\ key_length\fP, size_t\fI\ *value_length\fP, uint32_t\fI\ *flags\fP, memcached_return_t\fI\ *error\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_mget_by_key(memcached_st\fI\ *ptr\fP, const char\fI\ *group_key\fP, size_t\fI\ group_key_length\fP, const char * const\fI\ *keys\fP, const size_t\fI\ *key_length\fP, size_t\fI\ number_of_keys\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_fetch_execute(memcached_st\fI\ *ptr\fP, \fI\%memcached_execute_fn\fP\fI\ *callback\fP, void\fI\ *context\fP, uint32_t\fI\ number_of_callbacks\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_mget_execute(memcached_st\fI\ *ptr\fP, const char * const\fI\ *keys\fP, const size_t\fI\ *key_length\fP, size_t\fI\ number_of_keys\fP, \fI\%memcached_execute_fn\fP\fI\ *callback\fP, void\fI\ *context\fP, uint32_t\fI\ number_of_callbacks\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t memcached_mget_execute_by_key(memcached_st\fI\ *ptr\fP, const char\fI\ *group_key\fP, size_t\fI\ group_key_length\fP, const char * const\fI\ *keys\fP, const size_t\fI\ *key_length\fP, size_t\fI\ number_of_keys\fP, \fI\%memcached_execute_fn\fP\fI\ *callback\fP, void\fI\ *context\fP, uint32_t\fI\ number_of_callbacks\fP) +.UNINDENT +.INDENT 0.0 +.TP +.B memcached_return_t (*memcached_execute_fn)(const memcached_st\fI\ *ptr\fP, memcached_result_st\fI\ *result\fP, void\fI\ *context\fP) +.UNINDENT +.sp +Compile and link with \-lmemcached .SH DESCRIPTION .sp -memcached_get() is used to fetch an individual value from the server. You -must pass in a key and its length to fetch the object. You must supply +\fI\%memcached_get()\fP is used to fetch an individual value from the server. +You must pass in a key and its length to fetch the object. You must supply three pointer variables which will give you the state of the returned -object. A uint32_t pointer to contain whatever flags you stored with the value, -a size_t pointer which will be filled with size of of the object, and a -memcached_return_t pointer to hold any error. The object will be returned -upon success and NULL will be returned on failure. Any object returned by -memcached_get() must be released by the caller application. -.sp -memcached_mget() is used to select multiple keys at once. For multiple key -operations it is always faster to use this function. This function always -works asynchronously. memcached_fetch() is then used to retrieve any keys -found. No error is given on keys that are not found. You must call either -memcached_fetch() or memcached_fetch_result() after a successful call to -memcached_mget(). You should continue to call these functions until they -return NULL (aka no more values). If you need to quit in the middle of a -memcached_get() call, execute a memcached_quit(). After you do this, you can -issue new queries against the server. -.sp -memcached_fetch() is used to fetch an individual value from the server. -memcached_mget() must always be called before using this method. You -must pass in a key and its length to fetch the object. You must supply +object. A \fBuint32_t\fP pointer to contain whatever flags you stored with the value, a \fBsize_t\fP pointer which will be filled with size of of +the object, and a \fBmemcached_return_t\fP pointer to hold any error. The +object will be returned upon success and NULL will be returned on failure. Any +object returned by \fI\%memcached_get()\fP must be released by the caller +application. +.sp +\fI\%memcached_mget()\fP is used to select multiple keys at once. For +multiple key operations it is always faster to use this function. This function always works asynchronously. +.sp +To retrieve data after a successful execution of \fI\%memcached_mget()\fP, you will need to +call \fI\%memcached_fetch_result()\fP. You should continue to call this function until +it returns a NULL (i.e. no more values). If you need to quit in the middle of a +\fI\%memcached_mget()\fP call, you can execute a \fBmemcached_quit()\fP, those this is not required. +.sp +\fI\%memcached_fetch_result()\fP is used to fetch an individual value from the server. \fI\%memcached_mget()\fP must always be called before using this method. +You must pass in a key and its length to fetch the object. You must supply three pointer variables which will give you the state of the returned -object. A uint32_t pointer to contain whatever flags you stored with the value, -a size_t pointer which will be filled with size of of the object, and a -memcached_return_t pointer to hold any error. The object will be returned -upon success and NULL will be returned on failure. MEMCACHD_END is returned -by the *error value when all objects that have been found are returned. -The final value upon MEMCACHED_END is null. Values returned by -memcached_fetch() musted be free\(aqed by the caller. memcached_fetch() will -be DEPRECATED in the near future, memcached_fetch_result() should be used -instead. -.sp -memcached_fetch_result() is used to return a memcached_result_st(3) structure -from a memcached server. The result object is forward compatible with changes -to the server. For more information please refer to the memcached_result_st(3) -help. This function will dynamically allocate a result structure for you -if you do not pass one to the function. -.sp -memcached_fetch_execute() is a callback function for result sets. Instead -of returning the results to you for processing, it passes each of the +object. A \fBuint32_t\fP pointer to contain whatever flags you stored with the value, a \fBsize_t\fP pointer which will be filled with size of of the +object, and a \fBmemcached_return_t\fP pointer to hold any error. The +object will be returned upon success and NULL will be returned on failure. \fBMEMCACHED_END\fP is returned by the *error value when all objects that have been found are returned. The final value upon \fBMEMCACHED_END\fP is null. +.sp +\fI\%memcached_fetch_result()\fP is used to return a \fBmemcached_result_st\fP structure from a memcached server. The result object is forward compatible +with changes to the server. For more information please refer to the +\fBmemcached_result_st\fP help. This function will dynamically allocate a +result structure for you if you do not pass one to the function. +.sp +\fI\%memcached_fetch_execute()\fP is a callback function for result sets. +Instead of returning the results to you for processing, it passes each of the result sets to the list of functions you provide. It passes to the function -a memcached_st that can be cloned for use in the called function (it can not -be used directly). It also passes a result set which does not need to be freed. -Finally it passes a "context". This is just a pointer to a memory reference -you supply the calling function. Currently only one value is being passed -to each function call. In the future there will be an option to allow this -to be an array. -.sp -memcached_mget_execute() and memcached_mget_execute_by_key() is -similar to memcached_mget(), but it may trigger the supplied callbacks -with result sets while sending out the queries. If you try to perform -a really large multiget with memcached_mget() you may encounter a -deadlock in the OS kernel (we fail to write data to the socket because -the input buffer is full). memcached_mget_execute() solves this -problem by processing some of the results before continuing sending -out requests. Please note that this function is only available in the -binary protocol. -.sp -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. -.sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in -\fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return -a \fBmemcached_return_t\fP, the error function parameter will be set to -\fBMEMCACHED_NOT_SUPPORTED\fP. +a \fBmemcached_st\fP that can be cloned for use in the called +function (it can not be used directly). It also passes a result set which does +not need to be freed. Finally it passes a "context". This is just a pointer to +a memory reference you supply the calling function. Currently only one value +is being passed to each function call. In the future there will be an option +to allow this to be an array. +.sp +\fI\%memcached_mget_execute()\fP and \fI\%memcached_mget_execute_by_key()\fP +is similar to \fI\%memcached_mget()\fP, but it may trigger the supplied +callbacks with result sets while sending out the queries. If you try to +perform a really large multiget with \fI\%memcached_mget()\fP you may +encounter a deadlock in the OS kernel (it will fail to write data to the +socket because the input buffer is full). \fI\%memcached_mget_execute()\fP +solves this problem by processing some of the results before continuing +sending out requests. Please note that this function is only available in +the binary protocol. +.sp +\fI\%memcached_get_by_key()\fP and \fI\%memcached_mget_by_key()\fP behave +in a similar nature as \fI\%memcached_get()\fP and \fI\%memcached_mget()\fP. +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. +.sp +All of the above functions are not tested when the +\fBMEMCACHED_BEHAVIOR_USE_UDP\fP has been set. Executing any of these +functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned, or for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. .SH RETURN .sp -All objects returned must be freed by the calling application. -memcached_get() and memcached_fetch() will return NULL on error. You must -look at the value of error to determine what the actual error was. +All objects retrieved via \fI\%memcached_get()\fP or \fI\%memcached_get_by_key()\fP must be freed with \fIfree(3)\fP. .sp -MEMCACHED_KEY_TOO_BIG is set to error whenever memcached_fetch() was used -and the key was set larger then MEMCACHED_MAX_KEY, which was the largest -key allowed for the original memcached ascii server. +\fI\%memcached_get()\fP will return NULL on +error. You must look at the value of error to determine what the actual error +was. +.sp +\fI\%memcached_fetch_execute()\fP return \fBMEMCACHED_SUCCESS\fP if +all keys were successful. \fBMEMCACHED_NOTFOUND\fP will be return if no +keys at all were found. +.sp +\fI\%memcached_fetch_result()\fP sets error +to \fBMEMCACHED_END\fP upon successful conclusion. +\fBMEMCACHED_NOTFOUND\fP will be return if no keys at all were found. .SH HOME .sp To find out more information please check: -\fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> +\fI\%http://libmemcached.org/\fP .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT -2011, Brian Aker +2011, Brian Aker DataDifferential, http://datadifferential.com/ .\" Generated by docutils manpage writer. .\" .