当前位置: 首页 > 编程笔记 >

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

袁卓
2023-03-14
本文向大家介绍PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC ),包括了PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )的使用技巧和注意事项,需要的朋友参考一下

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缓存是数据库缓存扩展,一般两者只有要安装其中一个即可,不要贪多。另外,实际html" target="_blank">测试中发现当Cache数量超过一定阀值的时候,APC的性能不如Memcache。所以在扩展的选择上,本人一般会选择xcache+memcached这个组合。

以上所述是小编给大家介绍的PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )的全部叙述,希望对大家有所帮助,如果大家想了解更多内容敬请关注小牛知识库网站!

 类似资料:
  • 本文向大家介绍使用Xcache缓存器加速PHP网站的配置方法,包括了使用Xcache缓存器加速PHP网站的配置方法的使用技巧和注意事项,需要的朋友参考一下 推荐地址:http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps1/   由于国内网站备案比较麻烦,所以笔者便把网站放到了香港。虽然网站免去了备案的困扰,但是从访问速度上来

  • 本文向大家介绍C# Memcached缓存用法实例详解,包括了C# Memcached缓存用法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#中Memcached缓存的用法,分享给大家供大家参考。具体方法如下: ICacheStrategy.cs文件如下: MemcachedStrategy.cs文件如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍PHP中的socket_read和socket_recv区别详解,包括了PHP中的socket_read和socket_recv区别详解的使用技巧和注意事项,需要的朋友参考一下 前几天用PHP写一个socket网络服务,在文档里看到socket_read和socket_recv这两个方法时有点晕,乍一看这不是一样的嘛,干吗还要给两个不同的用法呢。看文档没看太明白,看了下源码才搞清楚,

  • 本文向大家介绍redis 和 memcached 的区别?相关面试题,主要包含被问及redis 和 memcached 的区别?时的应答技巧和注意事项,需要的朋友参考一下 存储方式不同:memcache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小;Redis 有部份存在硬盘上,这样能保证数据的持久性。 数据支持类型:memcache 对数据类型支持相对简单;Redis 有复杂的数据

  • 本文向大家介绍iOS类别和类扩展的区别。相关面试题,主要包含被问及iOS类别和类扩展的区别。时的应答技巧和注意事项,需要的朋友参考一下 答案:category和extensions的不同在于 后者可以添加属性。另外后者添加的方法是必须要实现的。 extensions可以认为是一个私有的Category。

  • 扩展说明 用请求参数作为 key,缓存返回结果。 扩展接口 org.apache.dubbo.cache.CacheFactory 扩展配置 <dubbo:service cache="lru" /> <!-- 方法级缓存 --> <dubbo:service><dubbo:method cache="lru" /></dubbo:service> <!-- 缺省值设置,当<dubbo:serv