我目前正在将memcached实现到我的服务中,但不断出现的建议是,我还应该实现APC来缓存实际代码。
我已经看过了一些教程,还有PHP documentation,但我的主要问题是,我如何大规模地实现它?PHP文档谈到了存储变量,但并没有那么详细。
请原谅我在这方面没有受过教育,但我想知道这是在真正的网站上实施的。我是真的缓存所有内容,还是只缓存经常使用的部分,比如函数?
谢谢!
发布于 2009-05-23 11:43:54
如您所知,PHP是一种解释型语言,因此每次请求到达服务器时,它都需要打开所有必需和包含的文件,对它们进行解析并执行它们。APC提供的是跳过required /include和解析步骤(文件仍然需要,但存储在内存中,因此访问速度要快得多),因此只需执行脚本即可。在我们的网站上,我们使用了APC和memcached的组合。APC加速上述步骤,memcached支持快速和分布式存储和访问全局变量(预先计算的昂贵的函数调用等,可以在一定时间内由多个客户端共享)以及会话变量。这使我们能够拥有多个前端服务器,而不会丢失任何客户端状态,如登录状态等。
当涉及到应该缓存的内容时...好吧,这真的取决于你的应用程序。如果您需要多个前端,我会尝试使用memcached进行缓存和存储,并使用APC作为操作码缓存。
发布于 2009-05-23 11:41:31
它既是一个opcode cache,又是一个通用的数据缓存。后者的工作原理与memcached非常相似,而操作码缓存的工作原理是缓存已解析的php文件,这样就不必在每次请求时都对其进行解析。这通常可以大大加快执行时间。
发布于 2009-05-23 11:54:24
您不必实现APC的操作码缓存功能,只需将其作为php模块启用即可。
APC缓存大小和其他配置信息为here。
https://stackoverflow.com/questions/901356
复制相似问题