PHP可以获取memcache中密钥的过期时间吗?

Memcached数据过期机制延迟过期

在内部,它不会监视记录是否过期,但会在检查记录是否过期时检查记录的时间戳。这种技术被称为延迟过期。因此,memcached不会将CPU时间花在过期监视上,换句话说,它无法检测到一个键的过期时间。

你可以用一个更笨的方法:

define(' MEM _超时',1800);

$ memKey = " testkey

$val = '这是测试值';

mem_set($key,$ val);//调用

函数mem_set($key,$val) {

$ memcache-& gt;set($memKey,$val,0,MEM _超时);

//调用set时添加一个记录时间。

$ memcache-& gt;set('TIME_ '。$memKey,time(),0,MEM _ TIME _ OUT);

}

函数mem_get($key,$is_time = false) {

$memKey = $is_time?时间_ '。$ key:$ key;

$ val = $ memcache-& gt;get($ key);

如果($is_time) {

$ val = MEM _超时-(TIME()-$ val);

}

返回$ val

}