Redis - 数据过期策略

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

惰性删除

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

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

定期删除

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

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

定期删除有两种策略:

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

*优点:*对内存友好

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

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

相关推荐
2401_87169652几秒前
CSS如何解决Flex布局在老版本安卓机兼容性_使用autoprefixer工具
jvm·数据库·python
qq_206901391 分钟前
c++怎么把多个变量一次性写入二进制文件_结构体对齐与write【实战】
jvm·数据库·python
weixin_580614001 分钟前
golang如何给图片添加水印_golang图片添加水印解析
jvm·数据库·python
Shorasul2 分钟前
mysql如何进行表空间传输恢复_mysql transport tablespace实战
jvm·数据库·python
解救女汉子5 分钟前
golang如何实现群聊功能_golang群聊功能实现策略
jvm·数据库·python
m0_684501988 分钟前
如何清理Oracle临时表空间_重建TEMP表空间与释放空间方案
jvm·数据库·python
2301_7775993716 分钟前
Go语言怎么用sync.Map_Go语言并发安全Map教程【详解】
jvm·数据库·python
zhangchaoxies16 分钟前
Go语言如何用定时器_Go语言time.Ticker定时器教程【详解】
jvm·数据库·python
Devin~Y17 分钟前
从Spring Boot到Spring AI:音视频AIGC内容社区Java大厂面试三轮连环问(含Kafka/Redis/安全/可观测性答案)
java·spring boot·redis·spring cloud·kafka·spring security·resilience4j
2501_9142459319 分钟前
如何用 setCustomValidity 自定义表单验证失败的提示文本
jvm·数据库·python