redis的删除策略和淘汰策略

删除策略:是当数据到期,redis对过期数据的处理策略。

1.定时删除:当某一个key的过期时间到达后,redis就把对应的value和key删除。

优点是省内存,能快速的把过期数据删除腾出空间。

缺点是CPU资源占用过高,尤其是当CPU还在尽力处理其他事情的时候,这时候如果有key过期,就可能两边(redis和其他服务)体验都不好,并且当定时key越多,分配的资源就越多,就越影响性能。

2.惰性删除:数据过期不是立刻删除,而是要获取数据的时候判断是否过期,如果过期再删除。

优点是节约CPU资源。

缺点是有较大的OOM风险。

3.定期删除:走定时任务,随机清理过期的数据。这个定时任务是通过时间进行资源分配的,比如1秒钟抽出0.1秒来执行删除任务。

这种策略是1和2的折中策略,优点是比1、2两个缺点好点,缺点是比1、2两个优点差点。

淘汰策略:是当数据放不下的时候,淘汰其他数据的策略。

相关配置:

1:maxmemory ?mb 释:分配给redis的内存大小 ,触发淘汰策略的阈值。

2:maxmemory-samples count 释:每次选取待删除数据的个数,采用随机获取数据的方式作为待检测删除数据。

3:maxmemory-policy noeviction 一共8个值。

1)noeviction: 不删除,直接返回报错信息。
2)allkeys-lru:移除最久未使用(使用频率最少)使用的key。
3)volatile-lru:在设置了过期时间的key中,移除最久未使用的key。
4)allkeys-random:随机移除某个key。
5)volatile-random:在设置了过期时间的key中,随机移除某个key。
6)volatile-ttl: 在设置了过期时间的key中,移除准备过期的key。
7)allkeys-lfu:移除最近最少使用的key。
8)volatile-lfu:在设置了过期时间的key中,移除最近最少使用的key。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值