我真的对APC的常规缓存方面感到厌倦,并希望在我的代码中使用它(我知道该怎么做,这是不问题)。
但是,我现在正在使用XCache作为opcache,并希望继续这样做,因为我已根据我的特殊需要调整“恰到好处”。
我想将APC缓存用作通用缓存的原因是我对Pear的PEAR :: Cache_Lite在使用它进行变量缓存方面不满意,因为它将它存储在磁盘上,而磁盘I / O是瓶颈而RAM不是,APC将变量存储在RAM中,而不是存储在磁盘上的文件中。
所以,任何人都有经验或知道是否可以将APC设置为仅作为常规缓存运行(通过我的PHP代码中的API调用,类似于PEAR :: Cache_Lite),同时我维护另一个opcache(就我而言,xcache)。
感谢。
答案 0 :(得分: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]])
答案 1 :(得分: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
答案 2 :(得分:1)
您可以使用两个缓存,但它们在功能方面都重叠。理想情况下,您应该将APC配置为仅缓存文件,将XCache配置为OPCache。请检查以下comparison of features:
对于PHP> = 5.5 APC已停止使用,因此您应该使用XCache或Zend Opcache作为缓存的主要PHP加速器。
答案 3 :(得分:0)
运行时配置设置具有以下内容:
apc.optimization 0 “优化级别.Zone禁用优化器,更高的值使用更积极的优化。期望非常适度的速度改进。这是实验性的。”
http://www.php.net/manual/en/apc.configuration.php#ini.apc.enabled
答案 4 :(得分:0)
让两个缓存试图同时运行是不可能的。他们会试图挂钩到同一个系统。选择一个。
现在遵循您不使用的其他技术的标准插件:
从技术上讲,速度方面,其中并不多,尽管我已经看到APC在包含文件方面做得更好的报道,尤其是自动加载等技术(例如,使用Zend_loader)。 APC确实易于访问(pecl install ...),它是一个'更官方'的PHP项目,然后是另一个缓存系统。
我已经使用APC对标准操作码以及大量变量产生了很大的影响,TTL范围从30秒(现在有多少人在线)到24小时或更长时间(数据库表元 - 信息)。