Redis - 数据过期策略

Redis提供了两种数据过期策略 惰性删除 和 定期删除

惰性删除

当某个key过期时,不马上删除,而是在调用时,再判断它是否过期,如果过期再删除它

优点 : 对CPU友好,对于很多用不到的key,不用浪费时间进行过期检查
缺点 : 对内存不友好,如果某个key过期了,但一直没使用,那么这个key就会一直留在内存中

定期删除

每隔一段时间,就对一定量的key进行检查,删除里面过期的key

注意: 每次只是检查一定量的key而不是全部key,随着时间的推移,才会遍历Redis中全部的key

定期删除有两种策略:

  • SLOW模式 : 定时任务,执行频率默认为10Hz,即每秒执行10次,可以通过 redis.conf 设置执行频率
  • FAST模式 :执行频率不固定,但两次间隔不低于2ms

*优点:*对内存友好

*缺点:*对CPU比较不友好,但是可以通过减少执行的频率来降低对CPU的影响

Redis的过期删除策略: 惰性删除 + 定期删除 两种策略配合使用

相关推荐
w-w0w-w5 小时前
SQL注入
网络·数据库·sql
tianyuanwo5 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼5 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
我不会起名字3225 小时前
Redis 从 0 到 1(十七):订单 30 分钟不支付自动关闭——ZSet 延迟队列 Go 实现
redis·go·延迟队列·zset·订单
IvorySQL6 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
利威尔xu6 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
幽灵诶7 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河7 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
利威尔xu7 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
宇宙无敌暴龙战士6668 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发