【问题标题】:PHP: Using APC as general cache, XCache as opcache, possible?PHP:使用 APC 作为通用缓存,使用 XCache 作为 opcache,可能吗?
【发布时间】:2010-12-07 22:20:13
【问题描述】:

我对 APC 的一般缓存方面非常感兴趣,并希望在我的代码中使用它(我知道该怎么做,这不是问题)。

但是,我现在将 XCache 用作 opcache,并希望继续这样做,因为我已针对我的特定需求进行了“恰到好处”的调整。

我想使用 APC 缓存作为通用缓存的原因是我对 Pear 的 PEAR::Cache_Lite 不满意,因为它将它存储在磁盘上,并且磁盘 I/O 是一个瓶颈,而 RAM 不是,APC 将变量存储在 RAM 中,而不是磁盘上的文件中。

所以,任何人都有任何经验或知道是否可以将 APC 设置为仅作为通用缓存运行(通过我的 PHP 代码中的 API 调用,类似于 PEAR::Cache_Lite 的调用),同时我维护另一个 opcache(在我的例子中,xcache)。

谢谢。

【问题讨论】:

  • 真的没人知道吗?

标签: php apc xcache


【解决方案1】:

Xcache 也可用作通用缓存。就像 APC 一样。只需使用 Xcache!

mixed xcache_get(string name)
bool  xcache_set(string name, mixed value [, int ttl])
bool  xcache_isset(string name)
bool  xcache_unset(string name)
bool  xcache_unset_by_prefix(string prefix)
int   xcache_inc(string name [, int value [, int ttl]])
int   xcache_dec(string name [, int value [, int ttl]])

Here is the API

【讨论】:

    【解决方案2】:

    如果apc.cache_by_default 如果关闭并且apc.filters 不匹配任何内容,PHP 文件将不会被 APC 缓存。

    在您的配置中:

    apc.cache_by_default = Off
    

    http://www.php.net/manual/en/apc.configuration.php#ini.apc.cache-by-default

    【讨论】:

    • 此方法有效。 php 5.4 + apc(只是用户缓存)+ opcache。
    【解决方案3】:

    您可以同时使用这两种缓存,但它们在功能方面都有重叠。因此,理想情况下,您应该将 APC 配置为仅缓存文件,并将 XCache 配置为 OPCache。请查看以下comparison of features

    对于 PHP >= 5.5 APC 已停止使用,因此您应该使用 XCache 或 Zend Opcache 作为缓存的主要 PHP 加速器。

    【讨论】:

      【解决方案4】:

      运行时配置设置如下:

      apc.优化 0 “优化级别。零禁用优化器,更高的值使用更积极的优化。预计速度会得到非常适度的提升。这是实验性的。”

      http://www.php.net/manual/en/apc.configuration.php#ini.apc.enabled

      【讨论】:

        【解决方案5】:

        让两个缓存尝试同时运行是不可能的。他们将试图连接到同一个系统。选择一个。

        现在您不使用其他技术的标准插件:

        在技术和速度方面,它的内容并不多,尽管我看到报告称 APC 在包含文件方面做得更好,尤其是在自动加载等技术(例如,使用 Zend_loader)方面。 APC 确实易于访问(pecl install...),而且它是一个比其他缓存系统“更官方”的 PHP 项目。

        我使用 APC 对标准操作码和大量变量产生了很大影响,TTL 范围从 30 秒(现在有多少人在线)到 24 小时或更长(数据库表元信息)。

        【讨论】:

          猜你喜欢
          • 2014-08-12
          • 2012-04-05
          • 2010-12-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多