网络营销人用WordPress建站、做电商和网络推广,给网站提升速度,能在一定程度上提升SEO效果。
在安装了VestaCP控制面板之类的Linux系统之后,可以选择一些缓存扩展来提高PHP的速度。
经常会看到的是这些缓存扩展:
- APC
- eAccelerator
- XCache
- memcached
- Redis
它们之间有什么区别?作用是什么?我们该如何选择?
陈沩亮会在本文给你答案。
一、Alternative PHP Cache(APC缓存)
Alternative PHP Cache(APC缓存)是PHP的开源缓存工具,用于缓存Opcode(目标文件)PHP中间码。
APC的缓存,分为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之间的作用和区别。