Redis的简单介绍(2)-处理过期Key的策略

过期Key的删除策略

当为Redis的某一个Key设置了一个过期时间. 当过期时间到了的时候, Redis是怎么知道哪些Key过期了并用什么方法删除这些Key的呢?

主要有两种方式来进行删除

定期删除

Redis默认每100毫秒随机抽取一定数量的Key(默认20个)检查过期时间。若发现过期Key立即删除,若本轮检查中过期Key比例超过25%,则重复该过程直到比例低于25%。但这种方式需要额外消耗资源来检查Key是否过期, 无法达到Redis的高速访问存储的特点

惰性删除

当用户访问某个Key时,Redis会先检查该Key是否已过期。如果过期则立即删除,返回空值。这种方式减少CPU开销,但可能导致已过期Key仍占用内存。这种方式对用户体验不好(极端情况下用户访问的Key都是过期的)

Redis中的Key删除策略

而在Redis中是将定期删除和惰性删除一起使用.

相关推荐
2301_7938046918 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
vpk11219 小时前
Docker Compose 安装 Redis
redis·docker·容器
不想看见40420 小时前
Qt 项目中实现良好封装(模块化设计)的详细流程指南
数据库·系统架构
mygljx20 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
Jeremy爱编码20 小时前
软考数据库
数据库
我真会写代码20 小时前
从入门到精通:Kafka核心原理与实战避坑指南
分布式·缓存·kafka
Bdygsl21 小时前
MySQL(1)—— 基本概念和操作
数据库·mysql
zongzizz21 小时前
Oracle 11g 两节点rac在机房断电重启后PL/SQL和客户端连接数据库报错ORA-12541
数据库·oracle
qq_4176950521 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
身如柳絮随风扬21 小时前
什么是左匹配规则?
数据库·sql·mysql