Memcache::replace
(PECL memcache >= 0.2.0)
Memcache::replace — Replace value of the existing item
Description
Memcache::replace() should be used to replace value of
existing item with key
. In case if item with such
key doesn't exists, Memcache::replace() returns
FALSE
. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.
Parameters
-
key
-
The key that will be associated with the item.
-
var
-
The variable to store. Strings and integers are stored as is, other types are stored serialized.
-
flag
-
Use
MEMCACHE_COMPRESSED
to store the item compressed (uses zlib). -
expire
-
Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).
Return Values
Returns TRUE
on success or FALSE
on failure.
Examples
Example #1 Memcache::replace() example
<?php
$memcache_obj = memcache_connect('memcache_host', 11211);
/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);
/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);
?>
- Функция Memcache::add() - Add an item to the server
- Функция Memcache::addServer() - Add a memcached server to connection pool
- Функция Memcache::close() - Close memcached server connection
- Функция Memcache::connect() - Open memcached server connection
- Функция Memcache::decrement() - Decrement item's value
- Функция Memcache::delete() - Delete item from the server
- Функция Memcache::flush() - Flush all existing items at the server
- Функция Memcache::get() - Retrieve item from the server
- Функция Memcache::getExtendedStats() - Get statistics from all servers in pool
- Функция Memcache::getServerStatus() - Returns server status
- Функция Memcache::getStats() - Get statistics of the server
- Функция Memcache::getVersion() - Return version of the server
- Функция Memcache::increment() - Increment item's value
- Функция Memcache::pconnect() - Open memcached server persistent connection
- Функция Memcache::replace() - Replace value of the existing item
- Функция Memcache::set() - Store data at the server
- Функция Memcache::setCompressThreshold() - Enable automatic compression of large values
- Функция Memcache::setServerParams() - Changes server parameters and status at runtime
Коментарии
This page mentions that replace should be used rather than set, but gives no reason. Best information I could find was a comment by 'argyleblanket' on the set page. (memcache.set#84032)
"Using set more than once for the same key seems to have unexpected results - it does not behave as a "replace," but instead seems to "set" more than one value for the same key. "get" may return any of the values.
This was tested on a multiple-server setup - behaviour may be different if you only have one server. "