Memcache PHP不会过期


memcache php doesn't expire

我想在我的PHP代码中使用memcache:

$memcache = new Memcache;
$memcache->connect('10.0.0.21', 11244) or die ("Could not connect");
$store = 10; # in seconds
$cache_key = "Counter";
$counter = $memcache->get($cache_key);
if (empty($counter))
{
    $counter = $this->getTotal();
    $result = $memcache->replace($cache_key, $counter); 
    if($result == false) 
    { 
        $memcache->set($cache_key, $counter, 0, $store);
    }
}
echo $counter;

结果是这个值不会更新。这种情况持续了好几天——比我在代码中设置的10秒过期时间长得多。我做错了什么?我的理解是,键将在10秒后删除,但看起来没有。

仅在密钥不存在时设置过期时间。您也需要在对replace的调用中设置它:

$result = $memcache->replace($cache_key, $counter, 0, $store);