PHP APC共享内存过期如何工作?

我正在使用APC,看到我仍然有25MB的可用内存。

但是,在Cache full count ,我已经看到了8

那么,为什么会这样呢? 如果我的理解是:APC不是一个LRUcaching,那么为什么我仍然需要释放内存,因为我已经达到了全数?

不pipe高速caching失效algorithm是什么,可能会有一定的目标可用空间量,或者至less在无效程序运行时空间将被释放。 所以你应该期待几乎所有的时间都有一些空间。

说实话,我很难理解你所看到的和你在问什么。 如果您重新提出问题并添加详细信息,则可能获得更多帮助。 如果您提到的特定内存量对于回答您的问题很重要,那么您应该给出更多关于您分配的共享内存空间总量的更多上下文,以及可能关于空闲空间随时间变化的情况。

25MB的可用空间对我来说似乎很小。

我认为algorithm是,当caching满时,APC会全面传递caching内容,识别所有过期的内容。 如果没有任何过期,我不确定它会发生什么。 据推测Cache_full_count是有多less这样的通行证发生的计数。 无论如何,似乎是一个合理的猜测。 如果您想要比猜测更好,而且不在APC文档中,那么最好查看源代码。 回答这些问题通常是最简单的方法,通过采取这种方法,您将学到很多东西。