Redis数据删除策略(惰性删除+定期删除)

文章目录

  • Redis数据删除策略
  • [1. 惰性删除](#1. 惰性删除)
  • [2. 定期删除](#2. 定期删除)
  • [3. Redis过期删除策略用的哪种?](#3. Redis过期删除策略用的哪种?)

Redis数据删除策略

1. 惰性删除

设置key过期时间后,不管它,需要用该key时,再检查是否过期,过期就删掉她,没过期返回

shell 复制代码
set name zhangsan 20

# 发现name过期,直接删除该keyname
get name
  • 优点:对CPU友好,对很多不用的key不用浪费时间进行过期检查
  • 缺点:对内存不友好,如果一个key已经过期,但是一直没有被使用,那么该key就会一直存在内存中,内存永远得不到释放

2. 定期删除

每隔一段时间,对一些key进行检查,删除里面过期的key。检查的这些key是随机的

定期清理有2种模式:

  • SLOW模式:定时任务,执行频率默认10hz(每秒10次),每次不超过25ms。可在redis.conf中修改
  • FAST模式:执行频率不固定,但每次间隔不低于2ms,每次耗时不超过1ms

优点:可以通过限制删除操作的执行时长和频率来减少对CPU的影响。

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

3. Redis过期删除策略用的哪种?

Redis是惰性删除和定期删除两种策略进行配合使用的。

相关推荐
W.Buffer3 小时前
通用:MySQL-深入理解MySQL中的MVCC:原理、实现与实战价值
数据库·mysql
心态特好4 小时前
详解redis,MySQL,mongodb以及各自使用场景
redis·mysql·mongodb
一只小bit4 小时前
MySQL 库的操作:从创建配置到备份恢复
服务器·数据库·mysql·oracle
sanx184 小时前
专业电竞体育数据与系统解决方案
前端·数据库·apache·数据库开发·时序数据库
养生技术人7 小时前
Oracle OCP认证考试题目详解082系列第57题
运维·数据库·sql·oracle·开闭原则
不良人天码星7 小时前
redis-zset数据类型的常见指令(sorted set)
数据库·redis·缓存
心灵宝贝7 小时前
libopenssl-1_0_0-devel-1.0.2p RPM 包安装教程(openSUSE/SLES x86_64)
linux·服务器·数据库
程序新视界9 小时前
MySQL中,IS NULL和IS NOT NULL不会走索引?错!
数据库·mysql·dba
wdfk_prog9 小时前
闹钟定时器(Alarm Timer)初始化:构建可挂起的定时器基础框架
java·linux·数据库
许长安9 小时前
Redis(二)——Redis协议与异步方式
数据库·redis·junit