memcached_fetch

SYNOPSIS

#include <libmemcached/memcached.h>
Compile and link with -lmemcached
char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, size_t *value_length, uint32_t *flags, memcached_return_t *error)

Deprecated since version 0.50: Use memcached_fetch_result() instead.

DESCRIPTION

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 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 a NULL pointer.

Values returned by memcached_fetch() must be freed by the caller.

All of the above functions are not tested when the MEMCACHED_BEHAVIOR_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 VALUE

memcached_fetch() sets error to to MEMCACHED_END upon successful conclusion.

MEMCACHED_NOTFOUND will be return if no keys at all were found.

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.