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

redis数据过期策略、淘汰策略

过期键的删除策略​

​1. 被动删除(惰性删除)​

  • ​触发时机​​:当客户端尝试访问某个键时,Redis会先检查该键是否过期。就是说,我们不时时检查每个键是否过期,而是在使用到这个键时检查是否过期,过期就删掉。
  • ​优点​​:对CPU友好,只在使用时检查。
  • ​缺点​​:可能导致大量过期键堆积(内存泄漏风险)。如果一个键一直没被用到,那就会一直堆在内存中,得不到清理

​2. 主动删除(定期删除)​

Redis通过​​定期抽样​​主动清理过期键,每隔一定时间,抽取一定量的key进行检查,后面会全部遍历一遍。不会有得不到清理的key了。

有两种模式:

  • ​模式1:快速扫描(Redis 6.0前)​

    • 每100ms执行一次,随机抽取20个键检查,删除其中已过期的键。
    • 若过期键比例超过25%,则重复该过程。
  • ​模式2:自适应扫描(Redis 6.0+)​

    • 动态调整扫描频率和数量,基于内存压力和过期键比例智能触发。

redis过期策略是两种模式的结合。


内存不足的淘汰策略​

当redis内存不足时(全是没有过期的key),还要往reids里加数据时,Redis就会根据某一规则强制淘汰键(即使未过期)。

淘汰策略有8种

LRU:最近最少使用,当前时间-最后一次使用时间,这个值越大,淘汰优先级越高

LFU:最少频率使用,相同时间内统计每个key使用频率,频率越低,淘汰优先级越高

淘汰策略选择建议

http://www.lqws.cn/news/157069.html

相关文章:

  • 安卓四大组件数据存储Handler
  • React从基础入门到高级实战:React 实战项目 - 项目一:在线待办事项应用
  • Kafka入门-消费者
  • 作为过来人,浅谈一下高考、考研、读博
  • 关于akka官方quickstart示例程序(scala)的记录
  • UDP:简洁高效的报文结构解析与关键注意事项
  • 计算机网络备忘录
  • 网络通信核心概念全解析:从IP地址到TCP/UDP实战
  • ​减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
  • CodeGeeX 本地模式
  • Golang——9、反射和文件操作
  • 使用SSH tunnel访问内网的MySQL
  • VSCode主题定制:CSS个性化你的编程世界
  • nginx.conf配置详解:从(413 Request Entity Too Large)说起
  • 《前端面试题:CSS的display属性》
  • 基于SpringBoot和PostGIS的OSM时空路网数据入库实践
  • 六、数据库的安全性
  • 【AI学习】KV-cache和page attention
  • 04-初识css
  • CICD实战(二)-----gitlab的安装与配置
  • 一文读懂 ZFS RAIDZ:深度解析 RAIDZ 类型、模式、配置和应用场景
  • nginx
  • 建筑设备一体化监控系统:提升能效与运维效率
  • 【面经分享】京东
  • OpenResty 安装指南
  • Linux磁盘管理与文件系统
  • 服务器重启后配置丢失怎么办?
  • Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进
  • es在Linux安装
  • 无人机避障与视觉跟踪技术分析!