Regardless of whether or not it succeeds, for me on Ubuntu 10.04 it always returns false. Just an FYI, you can't seem to rely on the result.
Memcache::delete
(PECL memcache >= 0.2.0)
Memcache::delete — Delete item from the server
Opis
bool Memcache::delete
( string $key
[, int $timeout
] )
Memcache::delete() deletes item with the key. If parameter timeout is specified, the item will expire after timeout seconds. Also you can use memcache_delete() function.
Parametry
- key
-
The key associated with the item to delete.
- timeout
-
Execution time of the item. If it's equal to zero, the item will be deleted right away whereas if you set it to 30, the item will be deleted in 30 seconds.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.
Przykłady
Przykład #1 Memcache::delete() example
<?php
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* after 10 seconds item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete', 10);
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->delete('key_to_delete', 10);
?>
Zobacz też:
- Memcache::set() - Store data at the server
- Memcache::replace() - Replace value of the existing item
Memcache::delete
Anonymous
28-Jul-2010 10:30
28-Jul-2010 10:30
nibblebot at gmail dot com
09-Jul-2010 03:58
09-Jul-2010 03:58
the Memcache::delete(key) function is broken on several combinations of memcached+pecl-memcache combinations.
pecl-memcache 2.2.5 + memcached 1.4.2 - Memcache::delete(key) WORKS
pecl-memcache 2.2.5 + memcached 1.4.3 - Memcache::delete(key) DOES NOT WORK
pecl-memcache 2.2.5 + memcached 1.4.4 - Memcache::delete(key) WORKS
pecl-memcache 2.2.5 + memcached 1.4.5 - Memcache::delete(key) WORKS
pecl-memcache 3.0.4 + memcached 1.4.2 - Memcache::delete(key) WORKS
pecl-memcache 3.0.4 + memcached 1.4.3 - Memcache::delete(key) DOES NOT WORK
pecl-memcache 3.0.4 + memcached 1.4.4 - Memcache::delete(key) DOES NOT WORK
pecl-memcache 3.0.4 + memcached 1.4.5 - Memcache::delete(key) DOES NOT WORK
z at zaebal dot com
28-Dec-2009 04:21
28-Dec-2009 04:21
To workaround the "delete" issue just pass zero as timeout parameter.
Wilfried Loche
25-Aug-2009 09:01
25-Aug-2009 09:01
Hi,
Be careful about multi memcached servers. It seems logical the get() methods use only one server but, what about the delete() and update() methods?
In fact, at least the delete() method perform a delete on the first server it finds!
For the test code, you can see it there:
http://pecl.php.net/bugs/bug.php?id=16810
Hope this helps someone!
Wilfried
Jocke Berg
05-May-2009 10:02
05-May-2009 10:02
I was searching for a function/method in this class that would "reset" (or "update", depending on how you look at it) the timeout value for a key. I was searching my butt off when I finally figured; this is the one.
Example: You have accessed a web-page including something that should be "in-cache" for way more than 30 days (until the memcache server gets a downtime for some reason). Since the limit for having something in the cache is 30 days, this will be a problem. Simple (yet somewhat non-optimal) solution:
<?php
//How to "update" the value
if($memcache_key_exists){
$memcache_obj->delete('key', (3600*24*30));
}
?>
Have fun.
