6

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

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

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

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

谢谢。

4

5 回答 5

5

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]])

这是API

于 2009-10-19T13:05:10.937 回答
4

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

在您的配置中:

apc.cache_by_default = Off

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

于 2009-10-19T20:24:39.960 回答
1

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

APC、eAccelerator、XCache、Zend Opcache等PHP加速器的特性比较

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

于 2016-04-13T14:55:21.923 回答
0

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

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

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

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

于 2009-10-23T22:54:37.030 回答
0

运行时配置设置具有以下内容:

apc.optimization 0 "优化级别。零禁用优化器,更高的值使用更积极的优化。期望非常适度的速度改进。这是实验性的。"

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

于 2009-10-19T11:14:46.533 回答