Redis过期删除策略

1、定时删除

一旦键过期就立即从内存中删除,节省内存空间,但删除过程会占用大量CPU时间,可能影响服务器的响应时间和吞吐量。

2、惰性删除

并不会立即从内存中删除过期键,而是在需要访问时才会检查是否过期。这样对CPU友好,但可能导致内存泄漏,因为即使键过期也不会被删除。

3、定期删除

定期对一些键进行检查和删除,可以有效释放过期键占用的内存。虽然可以限制删除操作执行的时长和频率,降低对CPU的影响,但难以确定删除操作执行的时长和频率,执行过于频繁或较少都可能带来问题。

Redis默认使用的策略

        Redis 默认使用的是惰性删除策略和定期删除混合使用。这意味着当客户端尝试读取一个键时,Redis 会先检查该键是否过期,如果过期则会立即删除。这种策略保证了过期键在被访问时能够及时被清理,但也会带来一定的性能开销,因为每次读取键时都需要进行过期检查。

        所以,Redis 还会周期性地(默认每秒钟检查 10 次)在后台进行定期删除(Eviction)。定期删除主要用于处理那些没有被惰性删除的过期键。定期删除会检查一部分设置了过期时间的键,然后删除其中已经过期的键。

ps:以下是我整理的java面试资料,感兴趣的可以看看。最后,创作不易,觉得写得不错的可以点点关注!

链接:https://www.yuque.com/u39298356/uu4hxh?# 《Java面试宝典》 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值