Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MEMCACHED_FETCH_EXECUTE(3)	 libmemcached	    MEMCACHED_FETCH_EXECUTE(3)

NAME
       memcached_fetch_execute - Retrieving data from the server

SYNOPSIS
       #include	<libmemcached/memcached.h>

       memcached_result_st  *  memcached_fetch_result(memcached_st *ptr,  mem-
       cached_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_re-
       turn_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 *group_key,
       size_t group_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 *group_key,	size_t group_key_length,  const	 char  *  const	*keys,
       const size_t *key_length, size_t	number_of_keys)

       memcached_return_t	    memcached_fetch_execute(memcached_st *ptr,
       memcached_execute_fn *callback, void *context, uint32_t number_of_call-
       backs)

       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_call-
       backs)

       memcached_return_t     memcached_mget_execute_by_key(memcached_st *ptr,
       const	char *group_key,   size_t group_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_call-
       backs)

       memcached_return_t   (*memcached_execute_fn)(const   memcached_st *ptr,
       memcached_result_st *result, void *context)

       Compile and link	with -lmemcached

DESCRIPTION
       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 three pointer variables which will give you the state of the re-
       turned 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 ob-
       ject  will  be returned upon success and	NULL will be returned on fail-
       ure. Any	object returned	by memcached_get() must	 be  released  by  the
       caller application.

       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.

       To  retrieve data after a successful execution of memcached_mget(), you
       will need to call memcached_fetch_result().   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 memcached_mget() call, you can exe-
       cute a memcached_quit(),	those this is not required.

       memcached_fetch_result()	 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 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.	MEMCACHED_END is returned by the *error	value when all objects
       that have been found are	returned. The final value  upon	 MEMCACHED_END
       is null.

       memcached_fetch_result()	is used	to return a memcached_result_st	struc-
       ture 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 help. This function will dynamically	allocate a re-
       sult structure for you if you do	not pass one to	the function.

       memcached_fetch_execute()  is a callback	function for result sets.  In-
       stead 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	 func-
       tion  (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. Cur-
       rently only one value is	being passed to	each function call. In the fu-
       ture there will be an option to allow this to be	an array.

       memcached_mget_execute()	and memcached_mget_execute_by_key() is similar
       to memcached_mget(), but	it may trigger the supplied callbacks with re-
       sult 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 (it will fail to write data to the	socket because the in-
       put 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	proto-
       col.

       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 ob-
       ject was	stored if key partitioning was used for	storage.

       All of the above	functions are not  tested  when	 the  MEMCACHED_BEHAV-
       IOR_USE_UDP  has	 been  set. Executing any of these functions with this
       behavior	on will	result in MEMCACHED_NOT_SUPPORTED being	 returned,  or
       for those functions which do not	return a memcached_return_t, the error
       function	parameter will be set to MEMCACHED_NOT_SUPPORTED.

RETURN
       All objects retrieved  via  memcached_get()  or	memcached_get_by_key()
       must be freed with free(3).

       memcached_get()	will  return NULL on error. You	must look at the value
       of error	to determine what the actual error was.

       memcached_fetch_execute() return	MEMCACHED_SUCCESS  if  all  keys  were
       successful.  MEMCACHED_NOTFOUND	will  be return	if no keys at all were
       found.

       memcached_fetch_result()	sets error to  MEMCACHED_END  upon  successful
       conclusion.   MEMCACHED_NOTFOUND	 will be return	if no keys at all were
       found.

HOME
       To find out more	information please check: http://libmemcached.org/

SEE ALSO
       memcached(1) libmemcached(3) memcached_strerror(3)

AUTHOR
       Brian Aker

COPYRIGHT
       2011-2013, Brian	Aker DataDifferential, http://datadifferential.com/

1.0.18			       February	09, 2014    MEMCACHED_FETCH_EXECUTE(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN | HOME | SEE ALSO | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=memcached_fetch_execute&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help