【Redis】过期键删除策略

定时删除策略

在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期期间来临时,立即执行对键的删除操作

优点

        对内存是友好的,保证过期键会尽可能快的被删除,并释放过期键所占用的内存

缺点

        对cpu时间是最不友好的,过期键比较多的情况下,删除键会占用想当一部反的cpu时间,无疑会对服务器的响应时间和吞吐量造成影响

惰性删除策略

程序只会在取出键时才对键进行过期检查

优点

        对cpu时间来说是最友好的,可以保证过期键的删除操作只会在非做不可的情况下进行,并且删除目标仅限于当前处理的键

缺点

        对内存最不友好,如果一个键已经过期,而这个键又仍在然保留在数据库中,只要过期键不被删除,占用的内存就不会被释放

定期删除策略

每隔一段时间执行一次删除过期键的操作,通过限制删除操作执行时长和频率来减少删除操作对cpu时间的影响,是对定时删除策略和惰性删除策略的整合和折中

        难点是确定删除操作执行的时长和频率,如果删除太频繁或者执行时间过长,就会退化为定时删除策略,如果删除操作执行的太少或者执行时间太短,又会退化为惰性删除策略,出现内存浪费的情况

        expires字典会保存所有设置了过期时间的key的过期时间数据,其中,key是指向空间中的某个键的指针value是该键的毫秒精度的UNIX时间戳表示,键空间是指该Redis集群中保存的所有键

        Redis中同时使用了惰性过期定时过期两种过期策略

参考文章

redis过期键删除策略_Leopold的专栏-CSDN博客_redis的过期删除策略

膜拜!华为大牛透彻讲解Java面试100道必考题,不管你工作几年,都得看看!现在免费分享给大家!_哔哩哔哩_bilibili 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值