Memcached 和 Redis 有什么区别,WordPress 使用哪个做缓存好?

前面介绍了使用 Memcached 内存缓存来提高 WordPress 站点速度,看到大家留言最多的问题,就是关于 Redis 和 Memcached 的比较。今天就给大家做一个简单介绍。

Redis 和 Memcached
Redis 和 Memcached

Memcached 和 Redis 有什么区别

Memcached 是一个分布式内存缓存系统,设计简单易用,非常适合用作缓存或会话存储。

Redis 是一个内存中的数据结构存储,它提供了一系列丰富的特性,它作为缓存、数据库、消息代理和队列非常有用。

Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较:

  1. Redis 支持服务器端的数据操作:Redis 相比 Memcached 来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在 Memcached 里,你需要将数据拿到客户端来进行类似的修改再 set 回去。这大大增加了网络 IO 的次数和数据体积。在 Redis 中,这些复杂的操作通常和一般的 GET/SET 一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么 Redis 会是不错的选择。
  2. 内存使用效率对比:使用简单的 key-value 存储的话,Memcached 的内存利用率更高,而如果 Redis 采用 hash 结构来做 key-value 存储,由于其组合式的压缩,其内存利用率会高于 Memcached。
  3. 性能对比:由于 Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis 在存储小数据时比 Memcached 性能更高。而在 100k 以上的数据中,Memcached 性能要高于 Redis,虽然 Redis 最近也在存储大数据的性能上进行优化,但是比起 Memcached,还是稍有逊色。

总结一下:Memcached 是解决简单缓存问题的可靠选择,而 Redis 通过提供更丰富的功能和各种各样的特性而优于 Memcached,这些特性对于解决复杂的场景更有优势。

WordPress 使用哪个做缓存好?

如果单纯作为内存缓存来使用,两者其实没有什么区别,那么为什么 WordPress官方网站已经Automattic旗下网站使用 Memcached 呢?

首先因为使用简单的 key-value 存储的话,Memcached 的内存利用率更高,并且在使用 Memcached 做内存缓存过程中,针对出现的各种的问题,做了很多的优化。

Memcached 命中率
Memcached 命中率

当然如果你已经使用了 Redis 做内存缓存或者更熟悉 Redis,WordPress 官方插件库也有很多第三方提供了 Redis 的 object-cache.php,和使用 Memcached 一样,只需要将对应的 object-cache.php 上传到 wp-content 目录即可。

通过以下方式提高 WordPress 性能缓存和延迟执行代码

也有很多小伙伴问,是不是大多数WordPress网站就不用Redis呢?当然不是,我在给很多企业官网,在服务器已安装了Redis(有其他应用在使用)的情况下,那更好的选择就是使用Redis来作为WordPress的缓存。

所以最后总结说一下,如果简单的内存缓存,建议使用 Memcached,WordPress官方Memcached插件已优化得非常完善。如果要进行复杂的程序开发,比如电商的秒杀功能 ,消息队列系统,那么 Redis 才是发挥其长处的地方。

如果你需要在WordPress网站加上Mmecached或者Redis功能,可以联系我,少量付费即可接入功能。

发表回复

您的电子邮箱地址不会被公开。