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 相关文章推荐
MySQL中create table语句的基本语法是
Jan 15 PHP
用php过滤危险html代码的函数
Jul 22 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php中日期加减法运算实现代码
Dec 08 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php关联数组快速排序的方法
Apr 17 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
php中删除、清空session的方式总结
Oct 09 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
php输出形式实例整理
May 05 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中time()和mktime()方法的区别
2013/09/28 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
浅析vue数据绑定
2017/01/17 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
python中for语句简单遍历数据的方法
2015/05/07 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
python内打印变量之%和f的实例
2020/02/19 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
仓库组长岗位职责
2014/01/29 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android