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

【redis使用场景——缓存——数据过期策略 】

redis使用场景——缓存——数据过期策略

  • 定期删除(Active Expiration)
    • 1. 快速模式(Fast Expiration Cycle)
      • 工作流程:
      • 特点:
      • 优点:
    • 2. 慢速模式(Slow Expiration Cycle)
      • 工作流程:
      • 特点:
      • 优点:
  • 惰性删除(Lazy Expiration)
    • 特点:
  • redis的过期删除策略

定期删除(Active Expiration)

Redis 会定期(默认每秒 10 次)随机抽取一些设置了过期时间的 key,检查它们是否过期,如果过期就删除。

1. 快速模式(Fast Expiration Cycle)

工作流程:

  • Redis 每次事件循环(event loop)都会执行快速过期检查

  • 从设置了过期时间的键中随机抽取 20 个进行检查

  • 删除其中已过期的键

  • 如果发现超过 25% 的键已过期,则立即再抽取 20 个进行检查(循环直到低于 25%)

特点:

  • 执行频率高(每秒执行多次)

  • 每次检查的键数量少

  • 执行时间短(不超过 1ms)

  • 主要处理即将过期的键

优点:

  • 对系统性能影响小
  • 能及时清理大部分过期键

2. 慢速模式(Slow Expiration Cycle)

工作流程:

  • 按数据库逐个检查(Redis 默认有 16 个数据库)
  • 从过期字典(expires字典)中随机抽取键进行检查
  • 默认每次扫描 20 个键
  • 如果发现超过 25% 的键已过期,则继续扫描
  • 每次慢速模式的总执行时间不超过 hz 配置的 25%(默认 hz=10,即 25ms)

特点:

  • 执行频率低(默认每秒 1 次)
  • 每次检查的键数量多
  • 执行时间较长(可配置,默认不超过 25ms)
  • 全面扫描所有过期键

优点:

  • 能清理更多过期键
  • 防止大量键堆积过期

惰性删除(Lazy Expiration)

当客户端尝试访问一个 key 时,Redis 会先检查该 key 是否设置了过期时间,如果已过期则立即删除并返回空。

特点:

只有在访问时才会检查过期,对不常访问的 key,即使过期也可能长时间占用内存

redis的过期删除策略

惰性删除+定期删除两种策略进行配合使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/259997.html

相关文章:

  • 国外开源客服系统chathoot部署,使用教程
  • Python实例题:基于 Flask 的博客系统
  • 人工智能编程三大核心流程详解--机器学习、神经网络、NLP自然语言处理
  • K8s: Kubernetes
  • 权威认证!华宇TAS应用中间件荣获CCRC“中间件产品安全认证”
  • Beam2.61.0版本消费kafka重复问题排查
  • SQL SERVER存储过程
  • SQL重置自增
  • Solidity学习 - 认识Solidity合约结构
  • Windows命令连接符的安全风险分析与防御策略
  • [附源码+数据库+毕业论文+开题报告]基于Spring+MyBatis+MySQL+Maven+jsp实现的宠物领养管理系统,推荐!
  • 无人机关键算法分析 ( MPU6050 ,PID,滤波,四元数,欧拉角,IMU 姿态解算)
  • vue3中使用vue-grid-layout来实现可拖动的仪表盘面板
  • 深度学习在智能物流中的创新应用与未来趋势
  • 在统信UOS(Linux)中构建SQLite3桌面应用笔记
  • C++之string类的实现代码及其详解(上)
  • 0 数学习题本
  • 【stm32】HAL库开发——Cube配置基本定时器
  • Llama 3 + Qwen2双模型实战:单张3090构建企业级多模态知识库(2025精解版)
  • 关于 ARM64 汇编:调用流程与栈帧结构解析
  • Jenkins与Kubernetes深度整合实践
  • GitLab 18.1 高级 SAST 已支持 PHP,可升级体验!
  • OSPF 路由协议详细笔记
  • Python-7-读取/写入文件数据
  • mb_bootloop_le.elf是使用microblaze默认的elf文件,这个文件包括哪些内容?
  • n8n智能体新境界:MCP服务器简化复杂自动化
  • Apache 支持 HTTPS
  • 系统性能优化-6 TCP 三次握手
  • easyExcel导入多sheet的Excel,存在合并单元格、列不固定的情况
  • 自动获取文件的内存大小怎么设置?批量获取文件名和内存大小到Excel中的方法