缓存过期都有哪些策略?
常见以下四种缓存过期策略:
-
定时过期
:每个设置过期时间的key都需要创建⼀个定时器,到过期时间就会立即清除。该策略可以⽴ 即清除过期的数据,对内存很友好;但是会占⽤
⼤量的CPU资源
去处理过期的数据,从⽽
影响缓存的响应时间和吞吐量
-
惰性过期
:只有当访问⼀个
key
时,才会判断该key是否已过期,过期则清除。该策略可以最⼤化地节省CPU资源,但是很消耗内存、许多的过期数据都还存在内存中。极端情况可能出现⼤量的过期key没有再次被访问,从⽽不会被清除,占⽤⼤量内存。
-
定期过期
:每隔⼀定的时间,会扫描⼀定数量的数据库的
expires
字典中⼀定数量的key(是随机的), 并
清除其中已过期的key
。该策略是定时过期和惰性过期的折中⽅案。通过调整定时扫描的时间间隔和每次扫描的限定耗时,可以在不同情况下使得
CPU和内存资源
达到最优的平衡效果。
-
分桶策略
:定期过期的优化,将过期时间点相近的
key
放在⼀起,按时间扫描分桶。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22398.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!