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

redis数据过期策略

数据过期策略

Redis对数据设置数据的有效时间,数据过期以后,就需要将数据从内存中删除掉。可以按照不同的规则进行删除,这种删除规则就被称之为数据的数据过期策略。

redis中提供了两种过期策略:1.惰性删除,2.定期删除

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

惰性删除

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

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

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

定期删除

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

定期清理有两种模式:

  • SLOW模式是定时任务,执行频率默认为10hz,每次不超过25ms,以通过修改配置文件redis.conf的hz选项来调整这个次数
  • FAST模式执行频率不固定,但两次间隔不低于2ms,每次耗时不超过1ms 

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

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


http://www.kler.cn/a/18359.html

相关文章:

  • 算法训练(leetcode)二刷第二十三天 | 455. 分发饼干、*376. 摆动序列、53. 最大子数组和
  • Redis主从复制(replication)
  • 【数理哲学】决定论与混沌理论
  • OSS文件上传
  • 【MySQL】数据库知识突破:数据类型全解析与详解
  • 力扣.15 三数之和 three-sum
  • JSP在线教学质量评价系统的设计与实现(源代码+论文)
  • 详解MySQL索引失效
  • MySQL高级(进阶)SQL语句
  • Hashtable 与 HashMap 有什么不同?
  • C++ 类与对象(二)—类成员初始化、静态分配和动态分配、this指针
  • [Python]连接列表,将多个列表连接起来
  • d答复引用等问题
  • 【蓝桥杯选拔赛真题56】Scratch画笔涂色 少儿编程scratch图形化编程 蓝桥杯选拔赛真题讲解
  • OJ练习第101题——柱状图中最大的矩形
  • 数据结构之栈的详解
  • ASP.NET Core Web API用户身份验证
  • 鸿蒙Hi3861学习七-Huawei LiteOS-M(信号量)
  • Linux网络架构: XDP, iptables/netfilter和iproute2/tc/ip/Qdiscs
  • windows环境安装运行kafka
  • Java EE--多线程(二)
  • Linux命令·netstat
  • electron +VUE 获取本地MAC地址
  • 又一起数据泄露事件五个月内的第二次
  • OpenPCDet系列 | 7.PointPillars模型测试KITTI数据集流程解析
  • 文件压缩与解压性能对比 lzop, gzip