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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
laravel5 Eloquent 实现事务方式
Oct 21 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
玩转虚拟域名◎+ .
2006/10/09 PHP
php中大括号作用介绍
2012/03/22 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
VSCode下好用的Python插件及配置
2018/04/06 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
Python 迭代,for...in遍历,迭代原理与应用示例
2019/10/12 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
三下乡个人总结
2015/03/04 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android