聊一聊Redis的内存淘汰策略、Redis的哨兵机制

本文详细解释了Redis的内存淘汰策略,包括不同版本的淘汰策略如LRU和LFU,以及哨兵机制如何在主节点故障时确保高可用性。还介绍了哨兵部署架构的基本要求。
摘要由CSDN通过智能技术生成

(1)Redis的内存淘汰策略是什么?

当Redis的内存超过最大允许的内存之后,Redis会触发内存淘汰策略,删除一些不常用的数据,以保证Redis服务器的正常运行。

Redisv4.0前提供 6种数据淘汰策略:

volatile-lru:只对设置了过期时间的键进行淘汰,淘汰策略是LRU。(Least Recently Used,即删除最近最少访问的键)

allkeys-lru:对所有键(包括没有设置过期时间的键)采用LRU淘汰策略。(最常用)

volatile-ttl:淘汰即将过期的键,优先淘汰剩余生存时间(TTL)较短的键。

volatile-random:随机淘汰那些设置了过期时间的键。

allkeys-random:随机淘汰所有键,不论是否设置了过期时间。

no-eviction:当内存达到限制时,不进行数据淘汰,而是拒绝所有会导致内存超出限制的写入请求,并返回错误。

Redisv4.0后增加以下两种:

volatile-lfu:只对设置了过期时间的键进行淘汰,淘汰策略是LFU(Least Frequently Used),删除使用频率最低的键。

allkeys-lfu:对所有键(包括没有设置过期时间的键)采用LFU淘汰策略。

(2)介绍一下Redis的哨兵机制

哨兵模式:master节点挂掉后,哨兵进程会主动选举新的master,可用性高。但是每个节点存储的数据是一样的,浪费内存空间。数据量不是很多,集群规模不是很大,需要自动容错容灾的时候使用。(在主节点出现故障时,自动识别并执行故障转移操作,将一个从节点提升为主节点,同时更新其它从节点向新主节点的复制关系,确保整个集群的高可用性。)

Redis Sentinel部署架构:Redis Sentinel集群和Redis数据集群。其中Redis Sentinel集群是由若干Sentinel节点组成的分布式集群,可以实现故障发现、故障自动转移、配置中心和客户端通知。Redis Sentinel的节点数量要满足2n+1(n>=1)的奇数个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值