1,APCu
APCu is APC stripped of opcode caching.
这是apcu的官方文档解释,简单的说APCU是从APC剥离出来的用户数据缓存功能,而去掉了apc的opcode cache。
所以后来:APCu = APC User
APC的主要用途有两项:
- 将PHP代码编译之后所产生的bytecode暂存在共享内存内供重复使用,以提升应用的运行效率。(Opcode Cache)
- 提供用户数据缓存功能,需要显示的调用,和redis/memcache类似。(User Data Cache)
其中第一点是其主要功能,因为PHP的运行机制——每次接受一个请求时都要初始化所有的资源(将源代码编译成bytecode),执行代码,然后释放资源;但其实代码99%的情况下并不会改变,所以每次请求都编译执行十分的消耗时间。所以启用Opcache Cache后,可以在初始化资源阶段减少CPU和内存的消耗。
但是PHP从PHP 5.5开始,使用ZendOptimizerPlus作为内置的Opcode Cache实现。所以现在APCU的主要功能便不再有意义了,而且其官方也随后表示不再维护APC了。
apcu也提供了缓存常见的一些操作,如: