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中是将定期删除和惰性删除一起使用.

相关推荐
一 乐10 小时前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
SelectDB10 小时前
同等资源下 Apache Doris 4.2 vs StarRocks 4.1.1:1TB SSB 与 TPC-H 性能实测
大数据·数据库·数据分析
这个DBA有点耶10 小时前
数据库集群与分布式架构:三条技术路线对比、金仓KES RAC实测数据与决策框架
数据库·程序员·架构
MayBaymax11 小时前
MongoDB 索引与事务
java·数据库·mongodb
SelectDB11 小时前
Doris vs ClickHouse:企业 OLAP 走向下一阶段,两种技术路线如何选择
大数据·数据库·数据分析
vx-程序开发11 小时前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
一 乐11 小时前
养老院管理系统|基于springboot + vue养老院管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
这个DBA有点耶12 小时前
InnoDB页结构深入:页分裂、页合并、填充因子——B+树底层机制全解析
数据库·mysql·架构
山岚的运维笔记13 小时前
mysql 专业笔记 -- 第 36 章:MySQL 管理
运维·数据库·笔记·后端·mysql·oracle·dba
阳光宅男@李光熠13 小时前
【电子通识】一起学习TDK的EMC基础——电池兼容设计方法概述
java·前端·数据库