业务系统中,我们经常使用缓存来提高读接口的性能、减轻DB的压力。
缓存选型中,摆在我们面前的往往有这两个: RedisMemcache,那么我们应该选择哪一个呢?

我们先来分析下两者的显著不同点

存储介质的不同

Memcache 是把数据存储在内存中。如果遇到断电、缓存服务宕机,数据是会丢失的,不可恢复。
Redis 的数据存储在内存和硬盘中(冷数据可放在硬盘),并且在服务宕机后支持从硬盘中恢复数据到内存中,支持持久化

数据格式的不同

Memcache 仅支持简单的 key:value 类型的数据。
Redis 除支持 kv 类型的数据外,还支持 list set hash hash 等类型的数据,并且支持排序。

结论

  1. 业务要求数据不可丢,选 Redis
  2. 存储数据格式多样化,对数据有较高的处理要求,选 Redis
  3. 定位缓存且数据格式单一,选 Memcache

参考

  1. Redis和Memcache的区别分析