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

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

相关推荐:

Python中实现与PHP完全一致的ICU音译规则转换器

本文介绍如何使用PyICU在Python中精确复现PHPTransliterator::createFromRules()的音译行为,包括NFD/NFC规范化、去除非间距符号与标点、转小写等完整ICU规则链,确保跨语言环境下的字符串转换结果100%一致。 本文介绍如何使用pyicu在python中精...

php运行python脚本失败怎么解决

PHP调用Python失败主因是环境、权限、路径或错误捕获问题;需确认Python路径、用绝对路径调用、检查www-data用户权限、重定向stderr获取真实错误,并排查disable_functions等安全限制。 PHP运行Python脚本失败,通常不是PHP或Python本身坏了,而是执行环...

redis怎么使用php

问题:如何在php中使用redis?安装redisphp扩展。连接到redis服务器,使用redis类。存储和检索数据,支持字符串、散列、列表和集合等类型。使用其他命令,如检查键是否存在、删除键和设置键的过期时间。使用完redis后关闭连接。 如何在PHP中使用Redis Redis是一个高度可扩展...

PHP 如何连接 MySQL 数据库?

PHP如何连接MySQL数据库 PHP通过连接MySQL客户端来操作MySQL数据库。当PHP程序执行时,它将连接到MySQL客户端,由客户端将PHP的请求传递给MySQL服务端。 MySQL服务端是一个数据库管理器,负责处理数据库操作,存储和管理数据。PHP程序通过客户端与服务端通信,向服务端发送...

德森PHP

DecenPHP已达到版本1.4。现在,使用PHP和MySQL/MariaDB可以轻松地在数据库中搜索文件或链接。 “但是,DecenPHP是什么?” DecenPHP提供了一种简单的方法来搜索网站和HTTP服务器上托管的文件。这可以通过MySQL数据库(仅存储链接和URL)或通过直接访问网站以检索...