我打算在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秒后删除,但看起来并没有。
发布于 2011-09-16 20:25:49
只有在密钥不存在的情况下才能设置过期时间。您还需要在对replace的调用中设置它:
$result = $memcache->replace($cache_key, $counter, 0, $store); 应该能解决你的问题。
https://stackoverflow.com/questions/7444564
复制相似问题