当你试图将一个变量添加到APC和APC缓存已满会发生什么?它自动地从高速缓存中除去最少使用的变量?

有帮助吗?

解决方案

根据 APC:运行时配置 “在运行的可用存储器的高速缓存的情况下,高速缓冲存储器将被完全如果TTL等于0。否则,使劲如果TTL大于0,APC将尝试移除期满的条目。”

所以,如果有一个非零TTL,它会删除其生存时间已经过去了条目。 ;)否则,它会删除整个缓存。

我注意到这一点并没有真正解决,如果缓存内存用完会发生什么,你有过高的TTL。

其他提示

从以往的经验(我们在生产中运行),如果不设置TTL或TTL是非常非常高的,没有什么是过时的,整个刷新缓存(如在制造空)。你真的想尝试和避免这种情况,因为它会导致对PHP具有处理下一个请求负载峰值,监守对需要APC的每个文件都需要编译它,并将其存储在内存中(这是一个稍微慢的过程比没有在所有启用的高速缓存)。此外,如果你正在recieving大量的流量和清空缓存,你将体验到高速缓存满贯(见谷歌对于这个邪恶)

作为一个侧面说明,请参阅相当粗略的指南APC和东西,这个老演示需要提防的 http://www.slideshare.net/oscon2007/os-gopal 出头也许过时它,但这个理论依然是正确的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top