当前位置: 首页 > news >正文

redis的数据过期策略

Redis对数据设置了数据的有效时间,数据过期之后,就需要将数据从内存中删除掉.可以按照不同的规则进行删除,这种删除规则就被称之为数据的删除策略(数据过期策略),而这种策略有两种:惰性删除和定期删除

惰性删除:设置key过期时间后,我们不去管它,当需要该key时,我们在检查其是否过期,如果过期,我们就删掉它,反之返回该key

set key value  过期时间(秒)

优点:对CPU友好,只会在使用该key时才会进行过期检查,对于很多用不到的key,不同浪费时间进行过期检查

缺点:堆内存不友好,如果一个key已经过期,但是一直没有使用,那么该key就会一直存在在内存中,内存永远不会释放.

定期删除:每隔一段时间,就会对一些key进行检查,删除里面过期的key(从一定数量的数据中取出一定数量的随机key进行检查),并删除其中的过期key.

定期清理有两种模式:

      SLOW模式是定时任务,执行频率默认是10hz,每次不超过25ms,已通过修改配置文件redis.conf的hz的选项来调整这个次数

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

优点:可以通过限制删除的操作执行的时长和频率来减少删除操作对CPU的影响,另外定期删除,也能有效释放过期键占用的内存

缺点:难以确定删除操作执行的时长和频率

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

 

http://www.lryc.cn/news/474233.html

相关文章:

  • 三周精通FastAPI:27 使用使用SQLModel操作SQL (关系型) 数据库
  • Kubernetes金丝雀发布
  • 树形DP讲解
  • 容器:如何调试容器
  • 用图说明 CPU、MCU、MPU、SoC 的区别
  • 牛客周赛 Round 65
  • 超级经典的79个软件测试面试题(内含答案)
  • 【Mac】安装 F5-TTS
  • Leaflet查询矢量瓦片偏移的问题
  • 存储引擎技术进化
  • CentOS 9 Stream 上安装 Maven
  • 强势改进!TCN-Transformer时间序列预测
  • MyBatis的不同参数传递封装
  • kotlin 协程方法总结
  • 脉冲当量计算方法
  • TongWeb7.0.E.6_P11嵌入式版本使用指引(by lqw)
  • Node.js:Express 服务 路由
  • C++之多态(上)
  • PySpark单机模式安装教程
  • DEVOPS: 认证与调度
  • ICPC区域赛成都站【赛后回顾+总结】
  • 保险大模型革新:全面自动化倒计时
  • 《使用Gin框架构建分布式应用》阅读笔记:p212-p233
  • 点云聚类学习 KMeans/DBSCAN
  • 反悔贪心
  • 汽车软件融合分析
  • 机器人和智能的进化速度远超预期-ROS-AI-
  • 5天学习RAG路线图,你信吗?
  • JIME智创:抖音创作者的AI绘画与视频生成创作神器
  • 基于SpringBoot和PostGIS的世界各国邻国可视化实践