更新时间:2024-11-26 GMT+08:00
DCS删除过期key
问题现象
分布式缓存服务每天定时清理一次过期key是根据什么规则清理的?清理规则可以自己调整么?
过期key删除机制
- 惰性删除:Redis的删除策略由主循环中的判断逻辑进行控制,所有Key读写命令执行之前都会调用函数对其进行检查,如果过期,则删除该键,然后返回Key不存在的结果;未过期则不做操作,继续执行原有的命令。
- 定期删除:由Redis的定时任务函数实现,该函数以一定的频率运行,每次运行时,都从键空间中取出一定数量的随机Key进行检查,并删除其中的过期键。
不是每次定时任务都会检查所有的Key,而是随机检查一定数量的Key,该机制旨在防止阻塞Redis主进程太久而造成业务阻塞,所以会造成已过期的Key释放内存速度较慢。
解决方案
如何查询删除了哪些过期Key?
暂不支持查询删除的过期Key记录。
父主题: 大Key/热Key分析/过期Key扫描