APC,eAccelerator,XCache,memcached,Redis的区别

网络营销人用WordPress建站、做电商和网络推广,给网站提升速度,能在一定程度上提升SEO效果。

在安装了VestaCP控制面板之类的Linux系统之后,可以选择一些缓存扩展来提高PHP的速度。

经常会看到的是这些缓存扩展:

  1. APC
  2. eAccelerator
  3. XCache
  4. memcached
  5. Redis

它们之间有什么区别?作用是什么?我们该如何选择?

陈沩亮会在本文给你答案。

一、Alternative PHP Cache(APC缓存)

Alternative PHP Cache(APC缓存)是PHP的开源缓存工具,用于缓存Opcode(目标文件)PHP中间码。

APC的缓存,分为2部分:

  1. 系统缓存
  2. 用户数据缓存

系统缓存是自动使用的:

但这仍然浪费了大量的CPU时间。

因此,你可以将系统缓存设置为永不过期的php.ini文件里,设置system缓存为永不过期(apc.ttl=0)。

但是,如果执行此操作,则需要在更改PHP代码后,重新启动Web服务器(例如,apache)。

目前,APC性能测试一般是指这一层的缓存;

从字面上看,Alternative PHP Cache(APC缓存)也可以被视为内存缓存扩展,

它是一个数据库缓存扩展。

二、eAccelerator

eAccelerator是一个免费的开源PHP加速器。

如同从文字理解的那样:eAccelerator是PHP中的加速器扩展。

三、XCache

XCache是一个开源的opcode缓冲器/优化器,可以提高服务器上PHP的性能。

实际上,XCache是PHP加速器扩展。

四、memcached

Memcached是一个高性能的分布式内存对象缓存系统:

从文字中可以理解到:内存缓存扩展,更多用于集群服务器,主要用于分布式缓存。

Memcached被认为是数据库缓存扩展。

五、Redis

Redis是一个高性能的key-value数据库。

很多人认为Redis可以完全取代memcached,因为Redis数据类型更丰富,性能不在memcached之下:

据我所知,新浪的微博和其他周边产品依赖于Redis,可以看出它功能强大。

PHP缓存、数据库缓存扩展区别

1)PHP缓存扩展:

2)数据库缓存扩展:

(通常2者只需要安装其中1个就行了,不要贪心)

有人测试后,发现Cache数据缓存超过一定阈值,APC性能不如mcached缓存。

因此,在选择缓存扩展时,一些人会选择 xcache + memcached 的组合,或是xcache + redis 的组合。

如果在同时安装多个缓存扩展出现错误,建议只安装一个缓存扩展,其它的卸载。

PHP加速器比较总结

以上就是APC、eAccelerator、XCache、memcached、Redis之间的作用和区别。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注