【Redis】过期键删除策略

2022/2/6 19:12:26

本文主要是介绍【Redis】过期键删除策略,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

定时删除策略

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

优点

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

缺点

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

惰性删除策略

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

优点

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

缺点

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

定期删除策略

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

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

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

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

参考文章

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

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



这篇关于【Redis】过期键删除策略的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程