是否可以在同一脚本中的apc_exist()和apc_fetch()调用之间销毁缓存数据?

时间:2014-01-08 12:23:33

标签: php caching apc

在以下示例中

if (apc_exists('foo'))
{
    echo apc_fetch('foo');
}

apc_exists('foo')是否有可能返回TRUEapc_fetch('foo')会返回FALSE,因为这两次调用之间的数据被删除(手动或由于缓存重置)?

1 个答案:

答案 0 :(得分:1)

根据我在documentation中所阅读的内容,我们根据请求设计了一致性:

  

ttl通过后,存储的变量将从缓存中清除(上的     下一个请求

OTH如果在另一个线程上有类似apc_delete()的内容,则可以进行非可重复读取。我建议仅将代码重构为一个原子apc_fetch()

$foo = apc_fetch("foo", $exist);
if ($exist) {
    echo $foo;

}