Redis的内存淘汰策略和过期删除策略

news/2024/11/25 7:57:06/

Redis是将数据放在内存中,内存是有限的而且有的业务场景需要将数据设置为过期,所以就有了过期删除策略和内存淘汰策略。

Redis过期删除策略

  • 定时删除
  • 惰性删除
  • 定期删除
具体过程对内存友好程度对CPU友好程度存在问题
定时删除设置键过期的同时创建一个定时器,定时检查是否过期,如果过期进行删除友好不友好对CPU压力大,影响用户操作
惰性删除只有在每次进行键获取的时候进行是否过期的判断,如果过期进行删除不友好友好如果某些键一直没被使用会一直占用内存
定期删除定期、随机地对一定比例的键进行过期时间判断,如果过期则进行删除居中居中因为是随机地对一定比例的键进行判断删除,所以对内存、CPU都还算友好。不过因为存在随机的可能,舍不得在极端情况下会存在一些键过期没扫描到而不会被删除的情况。针对这种情况,应对的策略是同时使用惰性删除+定期删除。

这里说的定时和定期的主要差别:定时会扫描全部的键,如果过期进行删除;而定期并不会扫描全部键,而只是对其中一部分进行删除。

通过这三种删除策略的对比,惰性删除+定期删除结合可以一定程度上避免内存的无效占用,但不可能完全避免。假设一下:如果某些键一直没被扫描到也没被使用,那它就会逃脱定期与惰性删除使得内存还是得不到释放,这样,我们就需要设置淘汰策略了。

当redis内存使用达到我们设置的maxmemory后,会根据淘汰策略清理内存,淘汰策略一有下面八种:

  1. noeviction 当内存不足以容纳写入数据时,新写入操作会报错。
  2. allkeys-lru 当内存不足以容纳写入数据时,移除最近最少使用的key。
  3. allkeys-random 当内存不足以容纳写入数据时,随机移除某个key。
  4. volatile-lru 当内存不足以容纳写入数据时,移除设置了过期时间里最近最少使用的key。
  5. volatile-random 当内存不足以容纳写入数据时,随机移除设置了过期时间的key。
  6. volatile-ttl 当内存不足以容纳写入数据时,优先移除更早过期时间的key。
  7. allkeys-lfu(Redis 4.0 以上),针对所有 Key,优先删除最少使用的 Key;
  8. volatile-lfu(Redis 4.0 以上),针对带有过期时间的 Key,优先删除最少使用的 Key。

有两点需要说明下:

  • 一般不推荐使用random相关的淘汰策略,一些数据莫明其妙的不见给人造成困惑。不过也没有绝对,需要结合业务场景。
  • 如果没设置过期时间,那volatile-lru/volatile-random/volatile-ttl的行为与noeviction差不多。

http://www.ppmy.cn/news/694521.html

相关文章

数学杂谈:三联角问题

数学杂谈:三联角问题 1. 题目描述2. 解法 1. 解题思路2. 具体解答 1. n为奇数2. n为偶数 3. 结论 3. 参考链接 1. 题目描述 首先,我们先给出这道题目的具体描述如下: 如果甲胜乙,乙胜丙,丙胜甲,则称甲乙丙…

发布搭载DuerOS 2.0的渡鸦硬件,百度为何要强化软硬件结合战略?

在今天的百度世界大会上,百度发布了三款搭载DuerOS2.0的人工智能产品:渡鸦raven H 、raven R 及raven Q,这是渡鸦自今年 2 月被百度全资收购以来,首次推出的AI 硬件产品。百度此举,就是在展示自己通过软硬结合落地AI战…

我的编程回忆录

2019独角兽企业重金招聘Python工程师标准>>> 一九七九年那是一个春天,有一位老人在中国的南海边画了一个圈 早年父母到海南的一个小县城经商,白手起家,从无到有,虽然不能和阿里爸爸,腾讯企鹅,什…

这两款硬件一发布就被疯抢!百度软硬件结合之路走对了!

11月1日,2018百度世界大会召开,跟往年流程一样,李彦宏在主论坛发表主题演讲,各个事业群分别举办分论坛,不过,今年百度世界大会给人的感觉是,百度已经是一家AI软件硬件的公司,百度世界…

小度智能音箱Pro全新登场,百度软硬件结合如何青出于蓝而胜于蓝?

11月1日,2018百度世界大会召开,跟往年流程一样,李彦宏在主论坛发表主题演讲,各个事业群分别举办分论坛,不过,今年百度世界大会给人的感觉是,百度已经是一家AI软件硬件的公司,百度世界…

2018IEBE新零售之解痛峰会召开

-粤港澳大湾区互联网新商业专家委员会指点新零售迷津 广州2018年9月11日电 /美通社/ -- 9月7日,由广东省网商协会主办,极米传媒、广州大麦、粤港澳大湾区互联网新商业专家委员会联合主办的 2018IEBE 新零售之解痛峰会在广州花园酒店成功召开。 解痛峰会照…

赛道“领跑者”变趋势“领航员”,AI与产业融合正在“升维”推进

文 | 李永华 来源 | 智能相对论(ID:aixdlun) 产业智能化到底什么时候才能全面落地?不知道,应该不会太快。 但至少,在一些参与者的努力下,我们能从恰当的角度看到一幅未来图景。 4月9日&#xff…

多个硬件体验如一,华为终端分布式技术会重构IoT生态吗?

文|编程浪子 来源 | 螳螂财经(ID:TanglangFin) 随着新基建理念的深入贯彻,从事硬件行业的人们不禁提出了一个至关重要的问题:物联网的商业价值在什么情况下才能最大化? 物联网的概念由比尔盖茨提出后的25年间&#…