【问题标题】:PHP APC Cache, does it work out of the box?PHP APC 缓存,开箱即用吗?
【发布时间】:2012-10-20 21:25:24
【问题描述】:

所以这让我很困扰。我刚刚安装了 APC 缓存并正在对其进行测试。 使用 APC 管理界面时,在 apc.php 文件中,我可以看到有关 APC 等的所有信息。 当我转到系统缓存条目时,我可以看到我调用的每个脚本都写在那里。

这是否意味着 APC 缓存开箱即用?我可以只安装 APC 缓存,它已经通过缓存脚本加速了我的应用程序?如果我愿意,我可以缓存变量以使其更快?

希望你能得到这个问题,对于有更多 APC 经验的人来说,这可能很简单。

我知道我可以将一些变量添加到缓存中,然后将它们取出,这将加速我的应用程序。但是,APC 会自己加速应用程序和缓存脚本,这是真的吗? 有没有什么好的文档可以让我了解更多关于 APC 的信息?

【问题讨论】:

  • 是的,如果您看到它正在缓存的脚本,它就可以工作。可能它需要一些finetuning of the configuration file,但仅此而已。
  • 谢谢,所以默认情况下 APC 会缓存每个脚本并将其保存到 RAM 中。这样一来,它们的访问速度要比从 HDD 访问快得多。所以我可以看到使用 APC 缓存的好处,只需安装它,无需执行任何其他操作?
  • main 的优点不是您节省了从磁盘加载,而是存储了字节码这一事实 - 没有缓存,每次运行时都会重新解释代码,使用缓存步骤被跳过。
  • 哦,是的,我明白了。由于 PHP 是解释型语言而不是编译型,APC 会将“字节码”保存到 RAM 中,然后不需要再次解释脚本,因为它可以从 RAM 中获取字节码。惊人的!!这一切都是开箱即用的吗?我简直不敢相信我以前没有使用过这个。没想到这么厉害!
  • 是的,我认为就这么简单的事实叫做进步。我记得与图尔克的 MMCache 及其继任者的斗争,APC“正常工作”这一事实是一个相当大的进步。是的,缓存的效果是惊人的,不是吗?

标签: php caching apc


【解决方案1】:

是的,APC“正常工作”。任何在生产环境中运行 PHP 而没有 APC/(其他 opcodecache)的人都错过了他们可以轻松实现的最简单的性能改进。

不过有一些注意事项。

如果您处于开发阶段,您仍然可以运行 APC,但是,您可能希望启用统计调用。这意味着 APC 将检查您的文件的最后修改。

apc.stat = [1|0]

因此,如果您没有启用统计调用,并且您更改了文件并且 APC 已经缓存了它,那么它不会观察您的更改,您将继续使用缓存的操作码。

正如您所提到的,APC 不仅用于操作码缓存,还用于用户空间缓存。你有你的system 缓存和你的user 缓存。

您可以通过执行以下操作将内容存储在用户缓存中:

apc_store("fooKey", "barValue");

【讨论】:

  • 谢谢,所以系统缓存就是我所经历的,每个脚本都会自动保存到 RAM 中,如果我使用 apc_store() 将某些内容保存在缓存中,然后使用 apc_fetch 将其取出,则用户缓存将是()?它是否正确?再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 2012-04-05
  • 1970-01-01
相关资源
最近更新 更多