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 巧用数组降低程序的时间复杂度
Jan 01 PHP
php数组去重的函数代码
Feb 03 PHP
PHP闭包(Closure)使用详解
May 02 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
利用PHP实现短域名互转
Jul 05 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php自动给网址加上链接的方法
Jun 02 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 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
PR值查询 | PageRank 查询
2006/12/20 PHP
php 字符串替换的方法
2012/01/10 PHP
php单一接口的实现方法
2015/06/20 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
js静态作用域的功能。
2006/12/25 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python Django模板的使用方法(图文)
2013/11/04 Python
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
Django缓存系统实现过程解析
2019/08/02 Python
Python如何实现线程间通信
2020/07/30 Python
四查四看剖析材料
2014/02/14 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
小学生植树节活动总结
2014/07/04 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
维稳工作情况汇报
2014/10/27 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
python开发制作好看的时钟效果
2022/05/02 Python