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

相关推荐
Bert.Cai8 分钟前
Oracle INSTR函数详解
数据库·oracle
Yeats_Liao1 小时前
Feed流系统设计(三):数据模型与存储设计,从表结构到Redis收件箱
java·javascript·redis
IronMurphy2 小时前
【算法五十七】146. LRU 缓存
算法·缓存
茉莉玫瑰花茶2 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
ywl4708120872 小时前
jwt生产token,简单版helloworld
java·数据库·spring
器灵科技2 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?
java·运维·数据库·人工智能·github
huangdong_3 小时前
京东商品图片视频批量下载与m3u8视频合并技术完整实现方案
大数据·前端·数据库
倒流时光三十年3 小时前
PostgreSQL CASE 条件表达式详解
数据库·postgresql
字节跳动数据平台3 小时前
营销视频进入工业化时代,火山引擎多模态数据湖如何助力多米实现内容生产提效 100+ 倍
数据库
健康平安的活着3 小时前
mysql中数据库脚本太大,通过脚本命令修改db名称
数据库·mysql