【发布时间】:2012-12-27 00:01:28
【问题描述】:
是否只是通过使用和启用将整个php文件添加到apc?
我了解 fetch 和 store 如何处理变量,但是什么时候应该使用它?整个文件的缓存是否自动完成?如果一个变量被缓存 - 它应该只是一个全局变量还是一个用户特定的变量?
【问题讨论】:
-
让您的分析器指导您决定要缓存的内容。否则,你会浪费程序员的时间去猜测什么是值得的。
是否只是通过使用和启用将整个php文件添加到apc?
我了解 fetch 和 store 如何处理变量,但是什么时候应该使用它?整个文件的缓存是否自动完成?如果一个变量被缓存 - 它应该只是一个全局变量还是一个用户特定的变量?
【问题讨论】:
通常,您应该缓存不需要经常更新但经常访问的数据库响应。这些数据不必来自数据库——也可以来自文件或任何类型的数据存储。关键是从缓存/内存中提供最流行的东西,以避免i/o 成本高昂。
Take a look at this answer 很好地解释了操作码缓存。操作码缓存基本上只是将您的 PHP 文件存储在内存中,以便在运行时更快地解释它。
APC 会自动工作,并检测文件的更改以查看是否需要重新缓存。引用上面的答案:
apc.stat 选项定义 APC 是否应检查文件的最后修改日期/时间,以决定是使用 RAM 中的操作码,还是重新编译文件(如果文件比 RAM 中的操作码更新)。
另外,回答您的全球与用户特定的问题。这一切都取决于曝光,你应该缓存任何曝光量大的东西。但一般而言,特定于用户的数据的曝光率低于全球数据。
【讨论】: