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 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
php循环语句 for()与foreach()用法区别介绍
Sep 05 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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 session安全问题分析
2011/06/24 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
PHP实现图片压缩
2020/09/09 PHP
javascript 短路法代码精简
2009/08/20 Javascript
浅谈Javascript面向对象编程
2011/11/15 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
Python实现带百分比的进度条
2016/06/28 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python连接PostgreSQL过程解析
2020/02/09 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
给护士表扬信
2014/01/19 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
预备党员转正意见
2015/06/01 职场文书
2015入党个人自传范文
2015/06/26 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
党章学习心得体会2016
2016/01/14 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏