PHP中4个加速、缓存扩展的区别和选用建议


Posted in PHP onMarch 12, 2014

折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有eAccelerator、memcached、xcache、Alternative PHP Cache这几个缓存扩展,它们之间有什么区别?分别的作用又是什么?我们如何选择?这是本文给于大家的答案。

1、eAccelerator
eAccelerator是一个自由开放源码PHP加速器,优化和动态内容缓存,提高了PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。从文字上可以理解为:eAccelerator是PHP加速器扩展。
2、memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。从文字上可以理解为:内存缓存扩展,并且针对于集群服务器使用较多,主要用于分布式缓存,算是数据库缓存。
3、Alternative PHP Cache(APC缓存)
Alternative PHP Cache (APC缓存)是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存Opcode(目标文件)的PHP中间码。 APC的缓存分两部分:系统缓存和用户数据缓存. 系统缓存 是自动使用的,是指APC把PHP文件源码的编译结果缓存起来,然后在再次调用时先对比时间标记。如果未过期,则使用缓存代码运行。默认缓存 3600s(一小时).但是这样仍会浪费大量CPU时间.因此可以在php.ini中设置system缓存为永不过期(apc.ttl=0).不过如果这样设置,改运PHP代码后需要restart一下您的web服务器(比如apache…).目前对APC的性能测试一般指的是这一层cache;从文字上理到:Alternative PHP Cache(APC缓存)也算是一种内存缓存扩展,算是数据库缓存扩展。
4、Xcache
是一个开源的opcode缓存器/优化器, 他能够提高服务器上的PHP性能,他通过把编译PHP后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率2到5倍, 降低服务器负载。 其实它与eAccelerator一样是PHP加速器扩展。

以上就是他们的作用与区别,简单一点就是:eAccelerator,xcache是PHP缓存扩展,memcached、APC缓存是数据库缓存扩展,一般两者只有要安装其中一个即可,不要贪多。另外,实际测试中发现当Cache数量超过一定阀值的时候,APC的性能不如Memcache。所以在扩展的选择上,本人一般会选择xcache+memcached这个组合。

PHP 相关文章推荐
十天学会php之第五天
Oct 09 PHP
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 PHP
浅谈PHP值mysql操作类
Jun 29 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
详细解读php的命名空间(二)
Feb 21 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
php使用websocket示例详解
Mar 12 #PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 #PHP
php实现快速排序的三种方法分享
Mar 12 #PHP
php二分查找二种实现示例
Mar 12 #PHP
php遍历文件夹和文件列表示例分享
Mar 11 #PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 #PHP
php上传图片存入数据库示例分享
Mar 11 #PHP
You might like
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
Display SQL Server Login Mode
2007/06/21 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
Python实现的弹球小游戏示例
2017/08/01 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python scipy卷积运算的实现方法
2019/09/16 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
韩国现代百货官网:Hmall
2018/03/21 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
党员违纪检讨书
2014/02/18 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
机械机修工岗位职责
2014/08/03 职场文书
银行奉献演讲稿
2014/09/16 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书