redis过期键删除策略

本文探讨了三种数据库过期键的删除策略:定时删除、惰性删除和定期删除。定时删除能及时释放内存但可能消耗CPU资源;惰性删除节省CPU但可能导致内存浪费;定期删除则试图平衡两者。定期删除的难点在于找到合适的执行频率和时长以避免性能影响。
摘要由CSDN通过智能技术生成

数据库键的过期时间都保存在过期字典中。
过期键删除策略有三种:
定时删除(主动):在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即对键进行删除操作。
惰性删除(被动):放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除改键。如果没有过期就返回该键。
定期删除(主动):每隔一段时间,程序对数据库进行一个检查,删除里面的过期键,至于要删除多少过期键,以及检查多少个数据库,有算法决定。

定时删除优点:对内存最友好,及时删除,释放内存。
定时删除缺点:对cpu时间不友好,在过期键比较多的时候,删除过期键会占用相当一部分cpu时间,当内存不紧张,cpu紧张时,将cpu时间用在删除和当前任务无关的过期键上,会对服务器的响应时间和吞吐量造成影响

惰性删除优点:对cpu时间非常友好
惰性删除缺点:对内存不友好

定期删除优缺点:定期删除是前两种删除方式的中和。每隔一段时间只需一次删除操作,控制删除操作的时长和频率减少对cpu的影响;并且定期删除能有效减少内存浪费。
定期删除难点:确定删除操作执行的时长和频率。执行太频繁会退化成定时任务;执行太少会退化成惰性删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值