Redis过期数据的删除策略是什么?有哪些?

定时删除:

  • 每个设置了TTL的key中都会创建一个计时器,等到过期时间就会立即删除

  • 对内存友好,但是会占用大量的CPU资源去处理过期数据,从而影响缓存的吞吐量和响应时间

惰性删除:

  • 设置了key的过期后,不会立即删除,而是当我们访问的时候,会检查该key是否已过期,如果过期则删除,没有过期则继续使用

  • 对可以最大化地节省CPI资源,但是十分消耗内存,在极端情况下,可能会出翔大量的过期key没有被再次访问,从而一直存在内存中没有被释放

定期删除:

  • 每隔一段时间,扫描一定数量的数据库的expires字典中一定数量的随机key,删除其中已过期的数据

  • 可以通过限制删除操作执行的时长和频率来减少删除操作对CPU影响

  • slow模式,执行频率默认为10hz,每次不超过25ms

  • fast模式:执行频率不固定,两次间隔不低于2ms,每次耗时不超过1ms

相关推荐
DolphinDB智臾科技9 小时前
DolphinDB 面向金融交易与定价的统一数据模型
数据库·时序数据库
檀越剑指大厂9 小时前
时序数据库性能之战:金仓数据库如何在复杂场景下反超 InfluxDB?
数据库·时序数据库
计算机毕设VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue图书借阅管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
数据与人9 小时前
mongodb报错Sort exceeded memory limit of 104857600 bytes
数据库·mongodb
程序员鱼皮9 小时前
消息队列从入门到跑路,保姆级教程!傻子可懂
数据库·程序员·消息队列
lang2015092810 小时前
Kafka元数据缓存机制深度解析
分布式·缓存·kafka
C++业余爱好者10 小时前
SQL语言家族入门指南:标准SQL、T-SQL与PL/SQL详解
数据库·sql
白驹过隙^^10 小时前
OB-USP-AGENT安装使用方法
数据库·经验分享·网络协议·tcp/ip·github·ssl
计算机程序设计小李同学10 小时前
基于Python的在线零食购物商城系统的设计与实现
数据库·sqlite
Java爱好狂.10 小时前
Java面试Redis核心知识点整理!
java·数据库·redis·分布式锁·java面试·后端开发·java八股文