redis过期策略
2024-01-09 18:52:07
思考:
一个 redis 中可能同时存在很多 key,这些 key 可能有的设置了过期时间。此时,redis 服务器怎么知道哪些 key 过期要被删除,哪些 key 还没有过期呢???
一个一个遍历删除太慢了,这是不可能的,因此 redis 提供了这两种策略相结合:
- 定期删除 :每隔一段时间,抽取一部分进行验证过期时间(保证抽取的过程足够快,?redis为单线程程序,里面会有很多任务,防止任务阻塞,必须快速进行扫描)
- 惰性删除 :只有当访问一个 key 时,才会判断该 key 是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好。极端情况可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存。
虽然有这两种结合的策略,但是效果不是很好。业务量大起来了,redis 的 key 被大量使用,内存直接不够了。难道redis直接这样挂掉?不会的!redis用8种内存淘汰策略保护自己~
文章来源:https://blog.csdn.net/llt2997632602/article/details/135485914
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!