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

Redis 数据过期及淘汰策略

Redis 数据过期及淘汰策略

过期策略

定时过期

在设置key​的过期时间的同时,为该key​创建一个定时器,让定时器在key​的过期时间来临时,对key进行删除。到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好,但是会占用大量的CPU​资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。

惰性过期

只有当访问一个key​时,才会判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU​资源,却对内存非常不友好。极端情况可能出现大量的过期key​没有再次被访问,从而不会被清除,占用大量内存。

定期过期

每隔一定的时间,会扫描一定数量的数据库的expires​字典中一定数量的key​,并清除其中已过期的key​。该策略是前两者的一个折中方案。通过调整定时扫描的时间间隔和每次扫描的限定耗时,可以在不同情况下使得CPU​和内存资源达到最优的平衡效果。

淘汰策略

Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时,如何申请新的内存。

  • noeviction​:当内存不足以容纳新写入数据时,新写入操作会报错。
  • allkeys-lru​:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key
  • allkeys-random​:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。
  • volatile-lru​:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。
  • volatile-random​:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。
  • volatile-ttl​:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。

总结

过期策略选择

惰性删除、定期删除组合模式。

淘汰策略选择

allkeys-lru

http://www.lryc.cn/news/396663.html

相关文章:

  • vue vite+three在线编辑模型导入导出
  • 去水印小程序源码修复版-前端后端内置接口+第三方接口
  • 机器学习:预测评估8类指标
  • 【深度学习基础】MAC pycharm 专业版安装与激活
  • 排序相关算法--1.插入排序+冒泡排序回顾
  • 变阻器的故障排除方法有哪些?
  • 软考《信息系统运行管理员》-3.1信息系统设施运维的管理体系
  • Nginx重定向
  • 私有化地图离线部署方案之高程检索服务
  • PostgreSQL 中如何实现数据的增量更新和全量更新的平衡?
  • 数据结构--二叉树相关习题5(判断二叉树是否是完全二叉树 )
  • Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)
  • Python: 分块读取文本文件
  • 服务攻防——中间件Jboss
  • 宏碁F5-572G-59K3笔记本笔记本电脑拆机清灰教程(详解)
  • 基于FPGA的LDPC编译码算法设计基础知识
  • 国际网课平台Udemy上的亚马逊云科技AWS免费高分课程和创建、维护EC2动手实践
  • 空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看!
  • 代码江湖:Python 中的进程与线程
  • 根据H在有限域GF(2^m)上求解生成矩阵G
  • Django 实现子模版继承父模板
  • 数据安全治理:从库级权限申请到表级权限申请
  • vue3源码(六)渲染原理-runtime-core
  • python拆分Excel数据,自动发邮箱
  • 2024年福州延安中学夏季拿云杯拔尖创新人才素养测试(小高组)
  • ES6 之 Promise 构造函数知识点总结 (四)
  • KIVY 3D Rotating Monkey Head¶
  • 测试几个 ocr 对日语的识别情况
  • 华为机考前准备工作
  • 偏差、方差(训练误差,验证误差)