我正在使用Memcached和PHP,代码是这样的:
$m = new Memcache;
$m->connect('myserver', 11213);
$key = ... // calculate key
$value = $m->get($key);
if($value) return $value
// calculate $value
$m->set($key, $value, 3600);
#var_dump($m->get($key);
现在奇怪的是这样:
如果我取消注释var_dump行,我可以看到检索和转储的数据。这是在它被推入Memcached之后。但是,这一行
$value = $m->get($key);
总是返回false。
我确定$ key是一致的。
可能出现什么问题?
答案 0 :(得分:2)
可能会对第三个参数感到困惑。根据文档,它是一个标志,用于启用压缩(使用MEMCACHE_COMPRESSED
),然后第四个用于超时(秒数,或将来的特定时间)
Memcache::set
(string $key, mixed $var [, int $flag [, int $expire ]])