是否有可能获得留给存储在内存缓存中值的剩余时间?
Answer 1:
第Memcache的到期时间只有一个礼貌而不是保证 。 在高速缓存中的任何项目可以在任何时间被清除。
Answer 2:
不它不是。 如果你想这样的事情,你需要将其编码为你的价值。
Answer 3:
是的,你可以,但它不是一个保证值,因为它可以被清除。 我唯一的建议,以检查此对开发环境,虽然。
function getMemcacheKeys() {
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect to memcache server");
$list = array();
$allSlabs = $memcache->getExtendedStats('slabs');
foreach($allSlabs as $server => $slabs) {
foreach($slabs AS $slabId => $slabMeta) {
if (!is_numeric($slabId)) {
continue;
}
$cdump = $memcache->getExtendedStats('cachedump',(int)$slabId);
foreach($cdump AS $keys => $arrVal) {
if (!is_array($arrVal)) continue;
foreach($arrVal AS $k => $v) {
echo $k .' - '.date('H:i d.m.Y',$v[1]).'<br />';
}
}
}
}
}
:从复制https://stackoverflow.com/a/7480534/338840
文章来源: Memcache expiration times