当前位置: 首页 > 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策略。

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

相关文章:

  • 6.RV1126-OPENCV 形态学基础膨胀及腐蚀
  • Spring Boot整合Druid与Dynamic-Datasource多数据源配置:从错误到完美解决
  • 推荐一款PDF压缩的工具
  • 【AI News | 20250603】每日AI进展
  • Cursor + Claude 4:海外工具网站开发变现实战案例
  • 《Spring Bean 是怎么被创建出来的?容器启动流程全景分析》
  • 网络原理1
  • C++ 中的依赖注入(Dependency Injection)
  • MySQL的备份和恢复
  • 系统思考:短期利益与长期系统影响
  • 物联网通信技术全景指南(2025)之如何挑选合适的物联网模块
  • 纯色图片生成器
  • 【Typst】1.Typst概述
  • 互联网c++开发岗位偏少,测开怎么样?
  • LEAP模型能源需求/供应预测、能源平衡表核算、空气污染物排放预测、碳排放建模预测、成本效益分析、电力系统优化
  • HCIP-Datacom Core Technology V1.0_3 OSPF基础
  • C++初赛的三讲
  • AUTOSAR CP——CanTrcv模块
  • JavaScript 字符串的常用方法有哪些?
  • Android 11以上App主动连接WIFI的完整方案
  • 机器学习——主成分分析(PCA)
  • LangChain核心之Runnable接口底层实现
  • Flowith,有一种Agent叫无限
  • Spring AI介绍及大模型对接
  • SpringCloud 分布式锁Redisson锁的重入性与看门狗机制 高并发 可重入
  • [Java 基础]运算符,将盒子套起来
  • leetcode hot100刷题日记——37.三数之和
  • 【HarmonyOS 5】鸿蒙APP使用【团结引擎Unity】开发的案例教程
  • SQL进阶之旅 Day 13:CTE与递归查询技术
  • 农业机器人的开发