PHP APC,教育我

时间:2009-05-23 11:20:33

标签: php apc

我目前正在将memcached实现到我的服务中,但不断出现的建议是我还应该实现APC来缓存实际代码。

我已经查看了几个教程,以及PHP documentation,但我的主要问题是,如何大规模实施? PHP文档讨论了存储变量,但不是那么详细。

原谅我在这方面没有受过教育,但我想知道实际网站在哪里实施。我是否真的会缓存一切或仅缓存经常使用的部分,例如函数?

谢谢!

3 个答案:

答案 0 :(得分:9)

APC既是opcode cache又是通用数据缓存。后者的工作方式与memcached非常相似,而操作码缓存通过缓存已解析的php文件来工作,因此不必在每个请求中解析它们。这通常可以加快执行时间。

答案 1 :(得分:9)

如您所知,PHP是一种解释型语言,因此每次请求到达服务器时,都需要打开所有必需和包含的文件,解析它们并执行它们。 APC提供的是跳过require / include和解析步骤(文件仍然需要,但存储在内存中,因此访问速度要快得多),因此必须执行脚本。在我们的网站上,我们使用APC和memcached的组合。 APC加速上述步骤,并使用memcached实现快速和分布式存储和访问全局变量(预先计算的昂贵函数调用等,可以由多个客户端共享一段时间)以及会话变量。这使我们能够拥有多个前端服务器,而不会丢失任何客户端状态,如登录状态等。

当涉及到你应该缓存的内容......那么,这实际上取决于你的应用程序。如果您需要在某个地方使用多个前端,我会尝试使用memcached进行此类缓存和存储,并使用APC作为操作码缓存。

答案 2 :(得分:2)

您不必实现APC的操作码缓存功能,只需将它们作为php模块启用即可。

APC缓存大小和其他配置信息为here