一聚教程网:一个值得你收藏的教程网站

热门教程

Redis之定期删除和惰性删除详解

时间:2026-06-16 08:43:21 编辑:袖梨 来源:一聚教程网

惰性删除

Redis并

不是

Redis之定期删除和惰性删除详解

对于指定数据到了开发者设定好的生命结束时间就

自动被删除

,因为对这个内容进行不断轮询检测的

性能消耗太大

了,只有到了用户

想要访问这个key

所对应的内容的时候,Redis才会首先去检测这个key还

是否有效

,然后才将其进行删除。

这种做法虽然

极大程度上利用了CPU

但是会触发

内存泄漏

问题,因此就引入了定期删除机制。

定期删除

Redis的主线程

每隔一段时间就会抽查一部分

的key值,如果抽到过期的就会立即删除,如果抽到过期的占抽取总数的

占比较大

,主线程就会

立刻触发的下一次的定期删除

工作。

这样不会导致主线程一直都在定期删除吗?主线程内部有

超时熔断

机制,在执行

定期删除

任务达到一定时间就会

立刻停下

,转而对client请求进行处理。

注:

4.0版本

后,主线程对过期数据的清理工作,变成了主线程

先查看释放内容大小

,如果内存很大,就会

摘除该指针并交由laze_free

去清理,大大加快了释放空间的效率。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

您可能感兴趣的文章:
  • redis中全局命令exists、del、expire、ttl(惰性删除和定期删除)
  • Redis定期删除过期数据的操作流程

热门栏目