当前位置: 首页 > article >正文

Redis的过期键的删除策略

我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis如何处理。
过期策略通常有以下三种:

  • 定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。
  • 惰性过期:只有当访问一个key时,才会判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好。极端情况可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存。
  • 定期过期:每隔一定的时间,会扫描一定数量的数据库的expires字典中一定数量的key,并清除其中已过期的key。该策略是前两者的一个折中方案。通过调整定时扫描的时间间隔和每次扫描的限定耗时,可以在不同情况下使得CPU和内存资源达到最优的平衡效果。(expires字典会保存所有设置了过期时间的key的过期时间数据,其中,key是指向键空间中的某个键的指针,value是该键的毫秒精度的UNIX时间戳表示的过期时间。键空间是指该Redis集群中保存的所有键。)

Redis中同时使用了惰性过期和定期过期两种过期策略。


http://www.kler.cn/a/227881.html

相关文章:

  • Deepseek技术浅析(二):大语言模型
  • android 圆形弹窗摄像头开发踩坑——源码————未来之窗跨平台操作
  • MySQL 索引存储结构
  • fscan全家桶更新:fscan免杀版,可过360、火绒、微步云沙箱,其他的自行测试
  • NoSQL与SQL比较
  • 基于Cipher的Java加密工具类
  • Linux权限【超详细】
  • ubuntu22.04 VMware17.5
  • C++ STL库详解:容器适配器stack和queue的结构及功能
  • MySQL 基础
  • 实习记录——第十天
  • Linux下tar命令详解
  • 【日常总结 - java】list 与 字符串(用逗号隔开)相互转换
  • 如何对项目中的图片进行优化以及常见图片格式
  • vue3使用is动态切换组件报错Vue received a Component which was made a reactive object.
  • 【内置对象·js】
  • 从编程中理解:退一步海阔天空
  • Swift 入门之自定义类型的模式匹配(Pattern Matching)
  • 聊聊ClickHouse MergeTree引擎的固定/自适应索引粒度
  • Django模型(五)
  • Stable Diffusion 模型下载:EnvyHyperrealXL01
  • 《学成在线》微服务实战项目实操笔记系列(P1~P49)【上】
  • 《深入浅出Go语言》大纲
  • C++模板:函数模板
  • 幻兽帕鲁服务器自动重启备份-python
  • Python这些模块,你了解吗?