gpt4 book ai didi

php - 我可以在同一台服务器上使用 APC 和 memcached 吗?

转载 作者:可可西里 更新时间:2023-11-01 12:42:42 24 4
gpt4 key购买 nike

我正在使用 memcache 来缓存对象,但我想另外添加一个像 APC 这样的操作码加速器。由于它们都涉及缓存,我不确定它们是否会“踩到对方的脚趾”,即我不确定 memcache 是否已经是 OP 代码加速器。

有人能解释一下吗?我想同时使用它们 - 用于不同的事情。用于缓存我的对象的内存缓存和用于代码加速的 APC

最佳答案

与 APC 或 XCache 之类的东西相比,Memcache 更像是分布式对象缓存,后者将 PHP 字节码存储在内存中,因此您不必每次都解析它。它们的主要目的不同。

例如,如果您有一个人们经常请求的 CPU 密集型数据库查询,您可以将结果对象缓存在内存缓存中,然后引用它,而不是一直重新运行该查询。

APC 和 XCache 确实具有类似的对象缓存功能,但您仅限于主机。如果您希望 10 台不同的服务器都可以访问该对象,而不必为每台服务器重新执行查询怎么办?您只需将它们定向到您的内存缓存服务器即可。如果您只有一台服务器,您仍然可以获得好处,因为如果您需要扩展到更多服务器,使用内存缓存将有助于您在未来扩展。

要考虑的主要事情是您是否认为您的应用程序需要扩展。 Memcache 有更多的开销,因为您必须使用 TCP 连接来访问它,而不是仅仅调用 APC/Xcache 共享对象的函数。

但是,Memcache 具有以下优点:

  • 比磁盘或重新运行查询更快。
  • 可扩展到多台服务器。
  • 适用于多种不同的语言,您的对象不会仅限于 PHP + APC/Xcache。
  • 所有进程/语言都可以访问相同的对象,因此您不必担心您的 PHP 子进程是否有空对象缓存。不过,如果您运行的是 PHP-FPM,这可能没什么大不了的。

在大多数情况下,我建议将您的对象缓存在内存缓存中,因为它不会更难,而且对 future 更灵活。

请记住,这与缓存对象有关。 Memcache NOT 没有任何字节码或 PHP 加速功能,这就是我将其与 APC 或 Xcache 并排运行的原因

关于php - 我可以在同一台服务器上使用 APC 和 memcached 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1935240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com