¿Puede PHP obtener el tiempo de vencimiento de la clave en Memcache?
Internamente, no supervisa si un registro ha caducado, pero sí comprueba la marca de tiempo del registro cuando comprueba si ha caducado. Esta técnica se llama espiración retrasada. Por lo tanto, Memcached no dedica tiempo de CPU a monitorear la caducidad; en otras palabras, no puede detectar cuándo caduca una clave.
Puedes utilizar un método más tonto:
define('MEM_timeout', 1800);
$ memKey = " testkey
$ val = 'Este es el valor de prueba';
mem_set($key, $val); //Llamar
Función mem_set($key, $val) {
$memcache->set($memKey,$val,0,MEM_timeout);
//Agrega un tiempo récord al llamar a set.
$memcache-> set('TIME_ '.$memKey, time(), 0, MEM_TIME_OUT);
}
Función mem_get($key, $is_time = false) {
$memKey = $is_time?time_'. $key:$key;
$val = $memcache->get($key) ;
Si ($is_time) {
$ val = MEM _timeout-(TIME()-$ val);
}
Devolver $val
}