30

只是一个与 OPcache 相关的问题,因为我不明白它并在 Google 上找到了答案:

当我们谈论用户态缓存时,它是什么意思?我知道 PHP 与新的 Zend OPcache 扩展预先捆绑在一起,并且该扩展将操作代码缓存到 ram 中,以免对处理器造成太大压力,该处理器应在每次请求时将 PHP 源转换为操作代码,但是 APCu 什么时候他们说它实现了用户态缓存?

什么是用户态缓存?是否可以将 APCu 和 Zend OPcache 保持在一起?应该使用 Zend OPcache 代替 APCu 吗?

4

1 回答 1

34

APCu 是由 Joe Watkins 为响应 OPcache 而开发的。APC 支持操作码缓存和数据缓存,但自 PHP 5.4 以来一直存在支持操作码缓存的稳定性问题。Zend Inc 开放 Opcache 的源代码并将其置于 PHP 许可证下后,它成为 PHP 5.5 以来的核心和首选操作码缓存。 它只支持操作码缓存,不支持数据缓存。

Joe 的 APCu 本质上是 APC 的剥离版本,仅包含数据缓存代码,如果您需要数据缓存,则设计为与 OpCache 一起使用。

请注意,虽然 Opcode 缓存在源代码级别是透明的,但数据缓存不是。您的应用程序需要显式编码才能使用它。(虽然 Wordpress、Drupal、phpBB、MediaWiki 等标准 PHP 应用程序默认包含此支持)。

于 2014-11-30T16:10:36.790 回答