【问题标题】:File or APC Cache Engine in CakePHP?CakePHP 中的文件或 APC 缓存引擎?
【发布时间】:2011-10-20 23:17:10
【问题描述】:

CakePHP 除了其默认的缓存引擎外,还提供对 APC、XCache 和 Memcache 的支持。我的应用程序出现了一些问题,由于未知原因,偶尔会缓存损坏的页面,因此我决定尝试另一个引擎,看看是否会有所作为。

XCache 和 Memcache 似乎都需要更多的设置,但 APC 似乎实际上是在 core.php 中更改一行的情况。我的问题是,我在哪里可以找到关于为什么我应该选择 APC 而不是默认引擎的信息?优缺点都有什么?它不能真的是“只尝试它们,看看一个感觉是否比另一个更好”(可以吗?),但是一个基本的窥探并没有揭示缓存引擎的不同优点的简单细分蛋糕。

谁能向我解释一下 Cake 中缓存引擎的神秘工作原理?或者指向我的资源?如果还比较 XCache 和 Memcache,则可以加分,因为它们可能是我的下一个停靠港......

【问题讨论】:

  • 如果你真的对性能感兴趣,你可以在网上搜索基准(即“APC vs Xcache”等)或自己执行。 Wikipedia states:“APC 正在迅速成为事实上的标准 PHP 缓存机制,因为它将从 PHP 5.4 开始内置到 PHP 的核心中。”

标签: php caching cakephp apc


【解决方案1】:

文件在磁盘上:

  • 不太快;如果多个进程尝试同时读/写,并发访问根本不是很好
  • 本地到一台服务器(如果您有多台服务器,则必须在每台服务器上存储文件——NFS 很慢)
  • 但是你有很多空间


APC 在内存中:

  • 真的很快
  • 但您的空间较小
  • 它也是每台服务器的本地


memcached 在内存中,在网络集群上:

  • 相当快(比 APC 少一点;但仍然相当快)
  • 在您的所有服务器之间共享:每个项目只需缓存一次,即使您有多个网络服务器。
  • 您的 memcached 集群中可以有多个服务器(这意味着缓存的大小几乎没有限制)

【讨论】:

  • 伟大的概要!不幸的是,更改为 APC 并没有解决我偶尔缓存损坏页面的问题,但我可以看到它已经更快了。很高兴知道即将到来的成本......
  • 我认为更改缓存引擎不会解决您的问题:这很可能是您的代码中的问题,与引擎本身没有真正的关系;;很高兴我能帮上忙 :-)
  • 嘿,是的!这是一个很长的镜头,但值得一试,因为我们只看到页面以缓存格式中断!消除所有奇怪的可能性,剩下的荒谬的可能性一定会变成事实:D
猜你喜欢
  • 2016-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
相关资源
最近更新 更多