在內部,它不會監視記錄是否過期,但會在檢查記錄是否過期時檢查記錄的時間戳。這種技術被稱為延遲過期。因此,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
}