memcached 数据过期机制 lazy expiration
内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费cpu时间,换句话说,也不能 检测 某个key的过期时间。。
可以使用一种较笨的方法:
definde('mem_time_out',1800);
$memkey = "testkey";
$val = 'this is test value';
mem_set($key,$val); //调用
function mem_set($key,$val) {
$memcache -> set($memkey,$val, 0, mem_time_out);
//当调用set 的时候顺便加一条记录时间
$memcache -> set('time_'.$memkey,time(), 0, mem_time_out);
}
function mem_get($key,$is_time = false) {
$memkey = $is_time ? 'time_'.$key : $key;
$val = $memcache -> get($key);
if($is_time) {
$val = mem_time_out - (time() - $val);
}
return $val;
}
大概意思就是这样。。 期待高手给出更完美,简单的方法。。
应该不能吧。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字

上传中....