(PECL memcache >= 0.2.0)
Memcache::delete -- memcache_delete — Elimina un elemento del servidor de caché
Memcache::delete() elimina el elemento identificado por la clave
key.
keyLa clave asociada al elemento a eliminar.
exptime
Este argumento obsoleto no es soportado, y su valor por omisión es
0 segundos. No se debe utilizar este argumento.
| Versión | Descripción |
|---|---|
| PECL memcache 3.0.5 |
El argumento exptime está deprecado y no debería ser proporcionado.
Valores distintos de 0 pueden provocar errores inesperados.
|
Ejemplo #1 Ejemplo con Memcache::delete()
<?php
/* API procedimental */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* el elemento será eliminado por el servidor de caché */
memcache_delete($memcache_obj, 'key_to_delete');
/* API orientada a objetos */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$memcache_obj->delete('key_to_delete');
?>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 WORKAccording to the documents, $timeout is not required, but for me if I did not include it regardless of value, it fired an error. I made a simple fix for it.
<?php
class memcache_tools extends memcache
{
public function delete($key, $expire=0)
{
parent::delete($key, $expire);
}
}
?>
This will force it to behave as it should regardless of version.I could not get the delete to work properly, so I ended up trying the 'set' method and setting the timeout value to -1.
<?php
$memcache->set('index', 'deleted', 0, -1);
?>
It solved my problem with the delete method.
(using memcached 1.4.5 and pecl-memcache 3.0.6)