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和ACCESS写聊天室(六)
Oct 09 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
Nov 18 PHP
PHP进程同步代码实例
Feb 12 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
Laravel5中Cookie的使用详解
May 03 PHP
Laravel数据库读写分离配置的方法
Oct 13 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
fgetcvs在linux的问题
2012/01/15 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
jquery 模板的应用示例
2013/11/12 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
python实现井字棋小游戏
2020/03/04 Python
python入门之井字棋小游戏
2020/03/05 Python
谈谈python垃圾回收机制
2020/09/27 Python
如何使用Pytorch搭建模型
2020/10/26 Python
Python3读写ini配置文件的示例
2020/11/06 Python
selenium如何定位span元素的实现
2021/01/13 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
MIS软件工程师的面试题
2016/04/22 面试题
大学生职业生涯规划书参考模板
2014/03/05 职场文书
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
《凡卡》教学反思
2014/04/09 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
技术员个人工作总结
2015/03/03 职场文书
家长会开场白和结束语
2015/05/29 职场文书
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers