什么是PHP中的用户空间缓存APCu扩展?

2022-08-30 14:57:30

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

当我们谈论用户空间缓存时,它意味着什么?我知道PHP与新的Zend OPcache扩展预先捆绑在一起,并且该扩展将操作代码缓存到ram中,以免在每次请求时都强调处理器应该将PHP源代码转换为操作代码,但是当他们说它实现了userland缓存时,APCu呢?

什么是用户空间缓存?是否有可能将APCu和Zend OPcache保持在一起?是否应该使用Zend OPcache而不是APCu?


答案 1

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

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

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


答案 2

推荐