我目前正在将memcached实现到我的服务中,但不断出现的建议是我还应该实现APC来缓存实际代码.
我已经浏览了一些教程,以及PHP文档,但我的主要问题是,如何大规模实现它?PHP文档讨论了存储变量,但不是那么详细.
请原谅我在这个领域没有受过教育,但我想知道实际网站在哪里实施.我是否真的会缓存一切或仅缓存经常使用的部分,例如函数?
谢谢!
APC既是操作码缓存又是通用数据缓存.后者的工作方式与memcached非常相似,而操作码缓存通过缓存已解析的php文件来工作,因此不必在每个请求中解析它们.这通常可以大大加快执行时间.
如您所知,PHP是一种解释型语言,因此每次请求到达服务器时,都需要打开所有必需和包含的文件,解析它们并执行它们.APC提供的是跳过require/include和解析步骤(文件仍然需要,但存储在内存中,因此访问速度要快得多),因此必须执行脚本.在我们的网站上,我们使用APC和memcached的组合.APC加速上述步骤,并使用memcached实现快速和分布式存储和访问全局变量(预先计算的昂贵函数调用等,可以由多个客户端共享一段时间)以及会话变量.这使我们能够拥有多个前端服务器,而不会丢失任何客户端状态,如登录状态等.
当谈到你应该缓存的东西......嗯,这实际上取决于你的应用程序.如果您需要在某个地方使用多个前端,我会尝试使用memcached进行此类缓存和存储,并使用APC作为操作码缓存.