什么时候倾向于选择redis? 1、复杂数据结构 value是哈希,列表,集合,有序集合等复杂数据结构的时候,选择redis更合适,因为mc无法满足这样的需求。 典型场景:用户消息,评论,订单列表等 2、持久化 mc不支持持久化 但redis持久化的使用需要注意 千万不要将redis作为数据库来使用: 1)redis的定期快照不能保证数据不丢失 2)redis的AOF会降低效率,并且不能支持太大的数据量 缓存场景,开启持久化有什么利弊? 优点:down机重启,内存中能够快速恢复热点数据,分担数据库压力,没有cache预热过程 缺点:redis挂了以后,数据库中数据有修改,可能导致redis中数据不一致 只读场景,或者一些允许不一致的业务场景,可以尝试开启redis持久化功能 3、天然高可用 redis天然支持集群功能,可实现主从复制,读写分离 Redis官方提供了sentinel集群管理工具,能够实现主从服务监控,故障自动转移 Mc想要实现高可用,需要进行二次开发 需要注意的是,大部分业务场景,缓存真的需要高可用吗? 1)存场景,很多时候,是允许cache miss 2)缓存挂了,很多时候可以通过DB读取数据 4、存储的value很大 mc的value存储,最大为1m,如果存储的value很大,只能使用redis (责任编辑:yang) |