写点什么

上车上车,快速搞懂 Redis 过期策略和内存淘汰策略

作者:知识浅谈
  • 2022 年 9 月 03 日
    吉林
  • 本文字数:696 字

    阅读完需:约 2 分钟

上车上车,快速搞懂Redis 过期策略和内存淘汰策略


🍁 作者:知识浅谈,CSDN 博客专家,阿里云签约博主,InfoQ 签约博主,华为云云享专家

📌 擅长领域:全栈工程师、爬虫、ACM 算法

💒 公众号:知识浅谈


上🚕,上🚕

快速搞懂 Redis 过期策略和内存淘汰策略

🎈Redis 过期策略

  1. 定时删除对于 redis 中的键值对,对设置过期时间的的都创建一个定时器,当到达一定时间,删除对应的 key,虽然这样 redis 能够删除多余的数据,但是会耗费大量的 cpu 时间。

  2. 定期删除:这个和定时删除是不同的,定期删除是隔一段时间去查看 redis 中的一个数据库中设置过期的 key 是否过期,过期的话,就可以删除,当删除的数量占有遍历的总量,则再次选取一部分数据进行过期检测,直到删除的 key 占有扫描额数据比例小于一定比例的时候停止。

  3. 惰性删除:这个指的是我们不主动删除,而是被动的删除,因为惰性删除指的是,在我们获取 key 的值的时候,查看是否过期,过期的话直接删除。


默认是使用定期删除和惰性删除结合。

🎈Redis 内存淘汰策略

对于淘汰策略有以下八种方式;在设置过期时间的 key 上 volatile-lru:在设置了过期时间的 key 上,找最近最少使用的 key 删除 volatile-lfu:在设置了过期时间的 key 上,找最少使用频率的 key 删除 volatile-ttl:在设置了过期时间的 key 上,找块要过期的 key 删除 volatile-random:在设置了过期时间的 key 上,随机选取 key 删除在所有 key 上 allkeys-lru: 当内存不足的时候,在所有的 key 上,找最近最少使用的 key 删除 allkeys-lfu: 当内存不足的时候,在所有的 key 上,找最少频率使用的 key 删除 allkeys-random: 当内存不足的时候,在所有的 key 上,随机选取 key 删除 noeviction: 当内存不足的时候,不删除已有的 key 的,添加的时候直接报错。

🍚总结

以上是关于两个策略的总结,希望有所帮助。

发布于: 刚刚阅读数: 4
用户头像

知识浅谈

关注

公众号:知识浅谈 2022.06.22 加入

🍁 作者:知识浅谈,InfoQ签约作者,CSDN博客专家/签约讲师,华为云云享专家,阿里云签约博主 📌 擅长领域:全栈工程师、爬虫、ACM算法 💒 公众号:知识浅谈 🔥 联系方式vx:zsqtcc

评论

发布
暂无评论
上车上车,快速搞懂Redis 过期策略和内存淘汰策略_redis 过期策略_知识浅谈_InfoQ写作社区