redis的几种数据淘汰策略

当Redis内存达到最大值时,它会使用数据淘汰策略以保持高可用性。文章介绍了Redis的六种淘汰策略,包括volatile-lru、volatile-ttl、volatile-random、allkeys-lru、allkeys-random和noeviction,并重点讨论了LRU算法的工作原理。在Redis 3.0中,LRU策略进行了优化,通过一个有限大小的pool来选择最近最少使用的key进行淘汰。总结中强调了即使设置过期时间,Redis也不会遍历所有key,而是通过采样机制检查过期key。
摘要由CSDN通过智能技术生成

1.redis的数据淘汰策略

最为大家所熟悉的,就是我们在进行redis存值的时候,可以针对每个key-value设置过期时间,时间到,数据自动删除。但是,当我们每个key-value都设置不过期的话,redis是不是就会被撑爆了呢?答案是不太会的,为什么这样说?是因为当我们的redis内存达到设置的maxmemory的时候,就会使用数据淘汰策略来保证redis的高可用性。

redis的六种淘汰策略:

  1. volatile-lru: 从已设置过期的数据中中随机挑选最近最少使用的多个key进行数据淘汰。
  2. volatile-ttl: 从已设置过期的数据中挑选即将要过期的数据进行淘汰。
  3. volatile-random:从已设置过期的数据中任意淘汰数据。
  4. allkeys-lru: 从数据集中挑选最近最少使用的数据淘汰。
  5. allkeys-random:从数据集中任意选择数据淘汰。
  6. noeviction: 不进行删除,达到最大内存时,直接返回错误信息。

以上六点的配置是在redis的配置是文件中maxmemory-policy来决定具体使用哪种淘汰策略。我们可以根据业务场景的不同使用不同的淘汰策略。

2.redis数据淘汰策略中的lru算法

LRU(less recently used)的意思是最少最近使用的。这种算法在redis的淘汰策略中经常遇到,淘汰最少最近使用的数据先淘汰。举例: 比如redis中存了三个用户 张三、李四、王五。 张三每天登陆一次系统、李四每两天登陆一次系统、王五每一周登陆一次系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值