前面介绍了使用 Memcached 内存缓存来提高 WordPress 站点速度,但是大家比较关心到就是做缓存 Redis 和 Memcached 有什么区别,用哪个更好?今天就给大家做一个简单介绍。
Memcached 是一个分布式内存缓存系统,设计简单易用,非常适合用作缓存或会话存储。
Redis 是一个内存中的数据结构存储,它提供了一系列丰富的特性,它作为缓存、数据库、消息代理和队列非常有用。
Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较:
总结一下:Memcached 是解决简单缓存问题的可靠选择,而 Redis 通过提供更丰富的功能和各种各样的特性而优于 Memcached,这些特性对于解决复杂的场景更有优势。
如果单纯作为内存缓存来使用,两者其实没有什么区别,那么为什么 WPJAM Basic 为什么使用 Memcached 呢?
首先因为使用简单的 key-value 存储的话,Memcached 的内存利用率更高,另外我们一开始就选择了 Memcached 做 WordPress 的内存缓存的存储介质,并且在使用 Memcached 做内存缓存过程中,针对出现的各种的问题,我也做了很多的优化,比如我们在后台「WPJAM」菜单下的「系统信息」中展示「Memcached」的各种信息。
当然如果你已经使用了 Redis 做内存缓存或者更熟悉 Redis,WordPress 官方插件库也有很多第三方提供了 Redis 的 object-cache.php,和使用 Memcached 一样,只需要将对应的 object-cache.php 上传到 wp-content 目录即可。
也有很多小伙伴问,WPJAM Basic 会不会集成 Redis,这个可以明确的说,目前作为简单缓存功能,Memcached 已经足够好用,不会再花时间集成 Redis。当然,我也会使用 Redis 做其他功能的开发,比如 Redis 天然单线程,在花生小店秒杀的功能中就是使用 Redis 进行处理的,还有一些简单的消息队列处理,也是基于 Redis 进行二次开发的。
所以最后总结说一下,如果简单的内存缓存,建议使用 Memcached,WPJAM Basic 也优化得非常完善,如果要进行复杂的程序开发,比如上面说的电商的秒杀功能 ,消息队列系统,那么 Redis 才是发挥其长处的地方。