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

举报
知识浅谈 发表于 2022/09/03 09:53:26 2022/09/03
【摘要】 上车上车,快速搞懂Redis 过期策略和内存淘汰策略

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

在这里插入图片描述

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

上🚕,上🚕
快速搞懂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的,添加的时候直接报错。

🍚总结

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。