0

代码很简单

$mem = $this->memcache->get("memche_".$_SESSION['userid']."_page_".$page);

if(empty($mem)){
// to make another query and save the data to memcache
}
else {
// to get it from memcache
}

但是现在没有数据,但是如果我 print_r($mem); 缓存不为空 我明白了

a:0:{}

这通过了 if 语句if(empty())

4

1 回答 1

2

这不是错误,您在 memcache 中存储了一个空数组。您的数组为空,而不是引用该数组的变量。

var_dump(unserialize('a:0:{}'));
array(0) {
}

您应该检查 $mem 是否为假($mem===FALSE),而不是检查它是否为空。如果缓存键不存在,则 Memcache 返回 FALSE。

于 2012-06-28T08:23:43.050 回答