php memcache 有效期,PHP可以拿到memcache中的key的过期时间吗?

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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值