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是惰性删除和定期删除两种策略进行配合使用的。

相关推荐
卜及中1 小时前
【Redis/2】核心特性、应用场景与安装配置
数据库·redis·缓存
LucianaiB1 小时前
如何做好一份优秀的技术文档:专业指南与最佳实践
android·java·数据库
Eiceblue1 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
fat house cat_3 小时前
【redis】线程IO模型
java·redis
敖云岚4 小时前
【Redis】分布式锁的介绍与演进之路
数据库·redis·分布式
LUCIAZZZ5 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
我在北京coding5 小时前
300道GaussDB(WMS)题目及答案。
数据库·gaussdb
小Tomkk5 小时前
阿里云 RDS mysql 5.7 怎么 添加白名单 并链接数据库
数据库·mysql·阿里云
明月醉窗台6 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
让我上个超影吧7 小时前
黑马点评【基于redis实现共享session登录】
java·redis