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

Redis缓存-数据淘汰策略

数据淘汰策略就是,当redis内存满的时候,此时在向redis添加新的key,那么redis会按照某一种规则将内存中的数据删掉,这种删除数据的规则成为内存的淘汰策略。

redis支持8中淘汰策略
1.noeviction,这种是redis默认的情况,淘汰任何数据,如果进行插入,就会报错。
2.volatile-ttl 对设置了TTL的key,比较剩余时间,时间越短越优先淘汰
3.allkeys-random  对全体key,随机淘汰
4.volatile-random 对设置了TTL的key,随机淘汰
5.allkeys-lru:对全体key,基于LRU算法进行淘汰。(下面会说LRU是什么意思)
6. volatile-lru 对设置TTL的key,基于LRU算法进行淘汰
7.allkeys-lfu  对全体key,基于LFU算法进行淘汰(LFU下面也会说)
8.volatile-lfu  对设置TTL的key,基于LFU算法进行淘汰。

下面就说一下LRU和LFU

LRU:最近使用最少,用当前时间减去最后一次访问时间,这个值越大,则淘汰优先级越高。
LFU:最少使用频率,就是点击的次数,会统计每个key的访问频率,值越小淘汰优先级越高。

一些业务场景使用建议
1.如果有明显的冷热区分,建议使用allkeys-lru,为什么使用lfu呢,如果某个数据仅仅是在某个时间段内访问量比较高,其他时间就很少,所以就不能用lfu。

2.业务中数据访问量差别不大,没有冷热分离,建议使用allkeys-random

3.如果业务中有置顶需求,可以使用volatile-lru,同时置顶数据不设置过期时间,这些数据就不会被删除,会淘汰其他过期时间的数据。

4.业务中有短时间高频访问的数据,可以使用allkeys-lfu或者volatile-lfu策略。

相关文章:

  • 从“Bucharest”谈起:词语翻译的音译与意译之路
  • 电脑硬盘分几个区好
  • 08.MySQL复合查询详解
  • STM32与GD32标准外设库深度对比
  • SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载
  • TypeScript 定义同步方法
  • HarmonyOS图片image使用
  • 80.在服务器部署LLAVA模型
  • 【Doris基础】Apache Doris中的Fragment概念详解
  • Agno:使用简单代码构建AI智能体
  • JS语法笔记
  • 风云二号G星:我国气象监测的“天眼”
  • 小巧实用,Windows文件夹着色软件推荐
  • MySQL强化关键_019_索引优化
  • [Linux] MySQL源码编译安装
  • MySQL计算精度计算加减乘除取模方式和方法总计
  • 2025年06月03日Github流行趋势
  • 【散刷】二叉树基础OJ题(二)
  • 【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
  • Linux: network : switch:hp5500
  • 安徽省建设厅网站怎么进不去/百度推广下载安装
  • 有哪些做兼职的设计网站有哪些工作/西地那非片说明书
  • 两学一做专栏网站/百度竞价广告投放
  • 用阿里云建站wordpress/搜索引擎免费下载
  • 湖北网站建设企业/百度在线客服
  • 平顶山工程造价信息网/网站优化公司上海