首页 > 其他 > 详细

过期删除策略

时间:2020-11-27 11:54:44      阅读:20      评论:0      收藏:0      [点我收藏+]

过期删除策略?

一.问题?

如果一个键过期了,那么它什么时候会被删除呢?

二.删除策略??

技术分享图片

①定时删除

优点:

定时删除策略对内存是最友好的:通过使用定时器,定时删除策略可以保证过期键会尽可能快地被删除,并释放过期键所占有的内存

缺点:

它对CPU时间最不友好:在过期键比较多的情况下,删除过期键这一行为可能会占用相当一部分的CPU时间,在内存不紧张但是CPU时间非常紧张的情况下,将CPU时间用在删除和当前任务无关的过期键上,无疑会对服务器的响应时间和吞吐量造成影响

②惰性删除

优点:

对CPU时间最友好:程序只会在取出键时才对键进行过期检查,这可以保证删除过期键的操作只会在非做不可的情况下进行,并且删除的目标仅限于当前处合理的键,它不会在删除无关键上花费任何CPU时间

缺点:

对内存最不友好:如果一个键已经过期,而这个键又仍然保留在数据库中,那么只要这个过期键不被删除,它所占有的内存就不会释放,当数据库中又非常多的过期键,而它们又恰好没有被访问到,那么它们永远都不会被删除(可看出时内存泄漏--无用数据占用了大量的内存)

实现:

调用expireNeeded函数和使用GET命令

技术分享图片

③定期删除

定期删除策略是前两种策略的一种整合和折中

技术分享图片

过期删除策略

原文:https://www.cnblogs.com/Seraphire-yili/p/14046450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!