八、Redis 过期策略与淘汰机制:深入解析与优化实践

devtools/2025/3/6 10:03:51/

Redis 过期策略与淘汰机制:深入解析与优化实践

Redis 作为基于内存的高性能数据库,如何管理过期的键(key)和当内存不足时如何淘汰数据,是影响 Redis 性能稳定性的关键因素。本篇文章将深入解析 Redis 的过期 key 处理方式数据淘汰策略,并结合实际应用场景,帮助开发者制定最优策略。


1. 过期 key 处理方式

1.1 key 过期的定义

在 Redis 中,键(key)可以设置过期时间(TTL, Time To Live),即当指定时间到达时,该 key 会被删除。例如:

SET session:user:123 "data" EX 60  # 60 秒后过期

当 60 秒后,该 key 将被 Redis 标记为过期,但具体的删除方式依赖于过期策略


1.2 Redis 的三种过期 key 删除策略

Redis 提供了以下三种方式处理过期 key:

(1)惰性删除(Lazy Deletion)
  • 原理:只有在客户端访问 key 时,Redis 才会检查其是否过期,并在发现过期后删除。
  • 优点:减少 CPU 资源消耗,不会主动清理内存。
  • 缺点:过期 key 如果长期不被访问,就会一直占用内存,导致内存浪费
  • 适用场景缓存场景,如会话管理(Session)

http://www.ppmy.cn/devtools/164967.html

相关文章

【Flink银行反欺诈系统设计方案】4.Flink CEP 规则表刷新方式

【Flink银行反欺诈系统设计方案】4.Flink CEP 规则表刷新方式 概要1. **实现思路**2. **代码实现**2.1 定义POJO2.2 规则加载与动态更新2.3 动态规则更新与CEP模式匹配 3. **规则更新的触发机制**3.1 定期加载规则3.2 监听规则变化 4. **总结** 概要 在Flink CEP中&#xff0c…

快速熟悉JavaScript

目录 1.js的基本认知 2.js的基本语法 2.1 变量的声明 三个关键字的区别 2.2数据类型 2.2.1 基本数据类型 2.2.2 复杂数据类型 2.3对象的属性和方法 2.3.1属性 2.3.2访问方式 2.4.3动态操作 2.4.4方法 2.4字符串的常用属性和方法 2.5运算符 2.6逻辑控制语句 2.7函…

试过了,多模态大模型Qwen/Qwen2.5-VL-3B-Instruct需要21G显存,我还是太天真啊!

前缘概述 之前说道,我想通过自己的笔记本(6G显存)部署一个Qwen/Qwen2.5-VL-3B-Instruct,最后因为显存不够,就放弃了。 Centos7,T4,几多磨难 但随后,我便开始了在一台系统为centos7,显卡为T4的机器上进行部署。总之就是很磨难,很多坑,最后还没有成功。 我猜测,相…

一文读懂加载地址、链接地址和运行地址

我们在做嵌入式系统开发时,会经常遇到加载地址、链接地址和运行地址的概念,可能会感到很困惑,搞不清它们三者的关系。希望此文能帮助大家彻底理解三者的关系。 一.概念 1.1.加载地址 加载地址,即Load Memory Address&#xff08…

libilibi项目优化(1)使用Redis实现缓存

第一版 获取视频信息使用旁路缓存 当视频信息存在缓存中时(命中),直接从缓存中获取。不存在缓存中时,先从数据库中查出对应的信息,写入缓存后再放回数据。 //获取视频详细信息RequestMapping("/getVideoInfo&q…

Java常用正则表达式(身份证号、邮箱、手机号)格式校验

目录 身份证号的正则表达式 代码解释 正则表达式 方法 isValidIDCard 注意事项 校验邮箱的正则表达式 代码解释 正则表达式 方法 isValidEmail 注意事项 手机号的正则表达式 中国大陆手机号校验(支持空字符串) 代码解释 通用手机号校验&am…

STM32之ADC

逐次逼近式ADC: 左边是8路输入通道,左下是地址锁存和译码,可将通道的地址锁存进ADDA,ADDB,ADDC类似38译码器的结构,ALE为锁存控制键,通道选择开关可控制选择单路或者多路通道,DAC为…

Linux 基本开发工具的使用(yum、vim、gcc、g++、gdb、make/makefile)

文章目录 Linux 软件包管理器 - yum理解什么是软件包和yum如何查看/查找软件包如何安装软件如何实现本地机器和云服务器之间的文件互传如何卸载软件 Linux 编辑器 - vim 的使用vim 的基本概念vim 的基本操作vim 命令模式各命令汇总vim 底行模式各命令汇总vim 的简单配置 Linux …