PHP 5.5默认包含zend opcache,这基本上意味着几乎没有人会使用APC.
但是使用什么而不是APC的用户数据缓存部分(apc_store&apc_fetch&similar)?
我真正喜欢使用APC用户数据缓存的一个用例是静态资产(javascript,css ..)的"版本".每当我引用静态文件时,我都会将其内容的哈希值添加到url中(例如<script src =/script.js>将成为<script src =/script.js?v = hash>),以便浏览器始终使用当前版本并可以永久缓存它.
我可以想象使用redis或memcache来存储静态文件的哈希值,但是通过网络或套接字询问另一个进程只是获取文件内容的哈希值似乎很愚蠢.APC用户数据缓存(在共享内存中并访问它几乎与访问php变量一样快)似乎是用于此类数据的正确选择.
所以问题是:在PHP 5.5中使用什么来缓存小块数据而不是APC?
Art*_*era 29
从PHP 5.5开始,APC用户数据存储被单独打包为PECL APCu.
brew install php55-apcu
)apt-get install php5-apcu
)yum install php-pecl-apcu
)这允许您使用所有用户缓存功能,例如apc_store().它也将返回true
了extension_loaded('apc')
-这意味着,根据APC的所有库将可替代PHP 5.4.
我最近在从php 5.3升级到php 5.5 beta 2后处理了这个问题.
我看了Memcache和Redis.根据您的要求,两者之间的表现大致相同.有人声称Redis的速度略快.但是,Redis有比Memcahe更多的功能,所以我决定选择Redis.
对于PHP客户端,我选择了Phpredis而不是Predis.Phpredis是C扩展,而Predis是纯PHP实现.因此,Phpredis通常更快.
我主要使用Redis来缓存和检索序列化对象.我启动了我目前正在使用APC在PHP 5.3中开发的项目.我将继续使用php 5.5和Redis开发项目.虽然我没有基准统计数据,但我可以告诉你应用程序"感觉"更快.这可能是由于PHP 5.5中的性能增强,而不是APC用户缓存与Redis相比.无论哪种方式,我都很满意我的选择.
我希望有所帮助.祝你好运和快乐的黑客:-)
归档时间: |
|
查看次数: |
7308 次 |
最近记录: |