Redis 淘汰策略和删除策略

Redis 淘汰策略和删除策略1 定时删除在设置 key 的过期时间的同时 为该 key 创建一个定时器 让定时器在 key 的过期时间来临时 对 key 进行删除优点 保证内存被尽快释放缺点 1 若过期 key 很多 删除这些 key 会占用很多的 CPU 时间 在 CPU 时间紧张的情况下 CPU 不能把所有的时间用来做要紧的事儿 还需要去花时间删除这些 key 2 定时器的创建耗时 若为每一个设置过期时间的 key 创建一个定时器 将会有大量的定时器产生 性能影响严重 2 惰性删除 key 过期的时候不删除 每次从数据库获取 key 的时候去检查是否过期 若过期

Redis采用的策略:定期删除+惰性删除

如何配置?

2、内存淘汰机制

Redis有过期策略,假如你的Redis只能存1G的数据,你一个请求写入2G,而你也没有及时请求key,那么惰性删除就不生效了,Redis占用内存就会越来越高。

Redis可以设置内存大小:

maxmemory

设置Redis最大占用内存大小为100

Redis有一个默认 内存淘汰机制:

maxmemory-policy noeviction

maxmemory-policy一共有8个值,当内存不足时:

LFU是最近最不常用页面置换算法(Least Frequently Used),也就是淘汰一定时期内被访问次数最少的页!

引申:

假如我的key没有设置expire,即没有设置过期时间。那么 volatile-lru、volatile-random、volatile-ttl 就无法执行了,和 noeviction 就一样了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176955.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:38
下一篇 2026年3月26日 下午8:39


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号