Redis - 数据过期策略

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

惰性删除

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

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

定期删除

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

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

定期删除有两种策略:

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

*优点:*对内存友好

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

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

相关推荐
!chen1 分钟前
Oracle Deep Data Security (Deep Sec) 初体验
数据库·oracle·ffmpeg
淘矿人3 分钟前
Claude助力前端开发
java·数据库·git·python·sql·spring·database
weixin_444012935 分钟前
Go语言GORM怎么做分页_Go语言GORM分页查询教程【实用】
jvm·数据库·python
Devin~Y20 分钟前
大厂Java面试实录:Spring Boot/Cloud + Redis + Kafka + JVM + RAG(Spring AI)三轮追问(小Y翻车版)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
1892280486123 分钟前
NV266固态MT29F32T08GSLBHL8-36QMES:B
大数据·服务器·人工智能·科技·缓存
hanbr24 分钟前
Qt:事件处理与绘图详解
开发语言·数据库·qt
weixin_4440129325 分钟前
Go语言怎么防SQL注入_Go语言SQL注入防护教程【深入】
jvm·数据库·python
爱编程的小新☆27 分钟前
Langchain4j对话记忆
数据库·缓存·持久化存储·langchain4j
m0_4708576428 分钟前
C#怎么实现蓝牙设备搜索_C#如何开发Bluetooth应用【指南】
jvm·数据库·python
曦夜日长30 分钟前
Linux系统篇,开发工具(三):文件翻译的思路重构、库的深入理解、文件链接时区别与细节
linux·数据库·重构