libmemcached
Set Functions
The set-related functions within libmemcached
provide the same functionality as the core functions supported by the memcached
protocol. The full definition for the different functions is the same for all the base functions (add
, replace
, prepend
, append
). For example, the function definition for memcached_set()
is:
memcached_return memcached_set (memcached_st *ptr, const char *key, size_t key_length, const char *value, size_t value_length, time_t expiration, uint32_t flags);
The ptr
is the memcached_st
structure. The key
and key_length
define the key name and length, and value
and value_length
the corresponding value and length. You can also set the expiration and optional flags. For more information, see , "Controlling libmemcached
Behaviors".
The following table outlines the remainder of the set-related functions.
libmemcached Function
| Equivalent to |
---|---|
memcached_set(memc, key, key_length, value, value_length, expiration, flags)
| Generic set() operation.
|
memcached_add(memc, key, key_length, value, value_length, expiration, flags)
| Generic add() function.
|
memcached_replace(memc, key, key_length, value, value_length, expiration, flags)
| Generic replace() .
|
memcached_prepend(memc, key, key_length, value, value_length, expiration, flags)
| Prepends the specified value before the current value of the specified key .
|
memcached_append(memc, key, key_length, value, value_length, expiration, flags)
| Appends the specified value after the current value of the specified key .
|
memcached_cas(memc, key, key_length, value, value_length, expiration, flags, cas)
| Overwrites the data for a given key as long as the corresponding cas value is still the same within the server.
|
memcached_set_by_key(memc, master_key, master_key_length, key, key_length, value, value_length, expiration, flags)
| Similar to the generic set() , but has the option of an additional master key that can be used to identify an individual server.
|
memcached_add_by_key(memc, master_key, master_key_length, key, key_length, value, value_length, expiration, flags)
| Similar to the generic add() , but has the option of an additional master key that can be used to identify an individual server.
|
memcached_replace_by_key(memc, master_key, master_key_length, key, key_length, value, value_length, expiration, flags)
| Similar to the generic replace() , but has the option of an additional master key that can be used to identify an individual server.
|
memcached_prepend_by_key(memc, master_key, master_key_length, key, key_length, value, value_length, expiration, flags)
| Similar to the memcached_prepend() , but has the option of an additional master key that can be used to identify an individual server.
|
memcached_append_by_key(memc, master_key, master_key_length, key, key_length, value, value_length, expiration, flags)
| Similar to the memcached_append() , but has the option of an additional master key that can be used to identify an individual server.
|
memcached_cas_by_key(memc, master_key, master_key_length, key, key_length, value, value_length, expiration, flags)
| Similar to the memcached_cas() , but has the option of an additional master key that can be used to identify an individual server. |
The by_key
methods add two further arguments that define the master key, to be used and applied during the hashing stage for selecting the servers. You can see this in the following definition:
memcached_return 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);
All the functions return a value of type memcached_return
, which you can compare against the MEMCACHED_SUCCESS
constant.