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

Php 是否可以在同一脚本中的apc_exist()和apc_fetch()调用之间销毁缓存数据?,php,caching,apc,Php,Caching,Apc,在下面的示例中 if (apc_exists('foo')) { echo apc_fetch('foo'); } 是否有可能apc_存在('foo')返回TRUE,但apc_fetch('foo')返回FALSE,因为数据在这两个调用之间被删除(手动或由于缓存重置)?根据我在 传递ttl后,存储的变量将从缓存中删除() 下一个请求) OTH如果在另一个线程上有类似于apc\u delete()的内容,则可以进行不可重复的读取。我建议您只将代码重构为一个原子apc\u fetch():

在下面的示例中

if (apc_exists('foo'))
{
    echo apc_fetch('foo');
}
是否有可能
apc_存在('foo')
返回
TRUE
,但
apc_fetch('foo')
返回
FALSE
,因为数据在这两个调用之间被删除(手动或由于缓存重置)?

根据我在

传递ttl后,存储的变量将从缓存中删除() 下一个请求

OTH如果在另一个线程上有类似于
apc\u delete()
的内容,则可以进行不可重复的读取。我建议您只将代码重构为一个原子
apc\u fetch()

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

}

“在下一个请求上”-这是指
apc\u fetch()
还是下一个HTTP请求?我肯定是前者。另外,我自己也要扮演魔鬼代言人的角色,如果我需要按照您的建议重构代码,为什么要存在
apc_exist()
method事件?我将请求理解为HTTP请求。如果您阅读完整的文档,上下文将变得更加清晰
apc_exists()
可能存在于您只需要知道存在性的用例中。不要问我这样的用例。另外还有一段时间apc_fetch()没有第二个参数。顺便说一句,如果您知道没有其他线程会删除该变量(no
apc\u delete()
apc\u clear()
),则不必重构代码。