Red de conocimiento del abogados - Bufete de abogados - ¿Puede PHP obtener el tiempo de vencimiento de la clave en Memcache?

¿Puede PHP obtener el tiempo de vencimiento de la clave en Memcache?

El mecanismo de caducidad de datos de Memcached retrasa la caducidad

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

}