1.立即删除:
在设置键的过期时间时,会创建一个回调事件,当过期时间达到时, 自动执行回调事件去删除键。但是立即删除对 cpu 是最不友好的。
2.惰性删除:
惰性删除是指某个键值过期后,此键值不会马上被删除,而是加入到删除字典(dict和expires)当中,等到下次被使用的时候,才会被检查到过期,此时才能得到删除。所以惰性删除的缺点就是会浪费内存。
3.定期删除:
每隔一段时间,对删除字典中进行检查,删除里面的过期键。
可以看到,第二种为被动删除,第一种和第三种为主动删除,且第一种实时性更高。每隔一段时间执行一次删除操作,并通过限制删除操作执行的时长和频率,来减少删除操作对 cpu 的影响。另一方面定时删除也有效的减少了因惰性删除带来的内存浪费。文章来源:https://www.toymoban.com/news/detail-557951.html
所以redis使用的过期键值删除策略是:惰性删除加上定期删除,两者配合使用。文章来源地址https://www.toymoban.com/news/detail-557951.html
到了这里,关于Redis中Key的过期策略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!