PHP 的 APC 用户数据缓存的完整替代方案?

Posted

技术标签:

【中文标题】PHP 的 APC 用户数据缓存的完整替代方案?【英文标题】:Full alternative to APC user data cache for PHP? 【发布时间】:2013-09-25 10:48:16 【问题描述】:

我有一个严重依赖 APC 的大型站点,主要使用 apc_addapc_fetch 函数存储自定义数据。

似乎APC is not fully compatible with php 5.4 和PHP 5.5 has built in Zend OPcache。我有什么替代方法来替换 apc_add 和 apc_fetch 功能?

请不要提及 memcached,我已经在使用它,但它不适合作为 APC 的直接替代品,因为我正在进行许多 apc_fetch 调用,因为 APC 比 memcached 快得多。

感谢您的任何建议和帮助。

编辑:我认为建议的 APCu 是不错的选择,但是它在稳定性(PHP segfaults)方面存在相同的问题...是否有其他替代方法来存储本地用户缓存数据?

【问题讨论】:

我遇到了同样的问题。还有其他解决方案吗? 【参考方案1】:

有APCu,APC用户缓存:http://pecl.php.net/package/APCu

它只包含用户缓存部分,使用apcu_* 函数而不是apc_* 函数。

【讨论】:

正是我想要的!谢谢 但是它和 APC (segfaults) 有同样的问题【参考方案2】:

YAC 是另一种选择 (https://github.com/laruence/yac)。它是无锁的,这可能导致:

    更好的性能 在某些情况下获取意外数据

如果您的应用程序可以容忍 (2) 或以不成问题的方式构建,那么 YAC 似乎是一个不错的选择。

APC User-Cache suitable for high load environments? 也有关于 APCu 的一些问题以及为什么 YAC 可以解决其中一些问题的很好的信息。

reddit 上也有关于 php 缓存的有趣讨论:http://www.reddit.com/r/PHP/comments/1k2w45/the_future_of_caching_in_php/

【讨论】:

【参考方案3】:

如果有人想知道我最终做了什么 - 我现在使用 XCache。它肯定不是完美的——主要是因为它的文档非常薄弱(如果有的话)。但它是稳定的、可维护的并且可以按预期工作,因此它现在可以很好地替代 APC。

【讨论】:

以上是关于PHP 的 APC 用户数据缓存的完整替代方案?的主要内容,如果未能解决你的问题,请参考以下文章

PHP之APC缓存详细介绍(学习整理)

php apc缓存以及与redis的对比

php 缓存之 APC 和apcu

PHP 缓存插件之 Zend Opcache ( 取代 APC )

如何在 APC 缓存中存储 PHP 会话?

APC 碎片化