PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )


Posted in PHP onJuly 09, 2016

PHP中有eAccelerator、memcached、xcache、APC 4个加速、缓存扩展,下面给大家介绍下其区别,一起看看吧!

折腾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中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )的全部叙述,希望对大家有所帮助,如果大家想了解更多内容敬请关注三水点靠木网站!

PHP 相关文章推荐
php 静态化实现代码
Mar 20 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
php中使用PHPExcel读写excel(xls)文件的方法
Sep 15 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 #PHP
PHP编程之设置apache虚拟目录
Jul 08 #PHP
php实现学生管理系统
Mar 21 #PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 #PHP
PHP线程的内存回收问题
Jul 08 #PHP
php实现xml与json之间的相互转换功能实例
Jul 07 #PHP
PHP登录验证码的实现与使用方法
Jul 07 #PHP
You might like
关于Intype一些小问题的解决办法
2008/03/28 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
认识延迟时间为0的setTimeout
2008/05/16 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
python从ftp下载数据保存实例
2013/11/20 Python
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
禁烟标语大全
2014/06/11 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
数学教师个人总结
2015/02/06 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
Python 正则模块详情
2021/11/02 Python