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

【redis】redis淘汰策略

一、说明

  • 1.redis key没有设置过期时间被redis主动删除了
  • 2.当redis已用内存超过maxmemory限定时,触发主动清理策略
  • 3.主动清理策略在redis4.0之前一共实现了6种内存淘汰策略,在4.0之后,增加了2种,总共8种

二、淘汰策略

2.1 针对设置了过期时间的key做处理
  • 1.volatile-ttl:在筛选时,会针对设置了过期时间的键对值,根据过期时间的先后进行删除,越早过期的越先被删除
  • 2.volatile-random:针对设置了过期时间的键值对随机删除
  • 3.volatile-lru:会使用lru算法筛选设置了过期时间的键值对删除(Least Recently Used的缩写,即最近最少使用)
  • 4.volatile-lfu:会使用lfu算法筛选设置了过期时间的键值对删除(Least Frequently Used的缩写,即最不经常使用)
2.1 针对所有key做处理
  • 1.allkeys-random:从所有键值对中随机选择并删除数据
  • 2.allkeys-lru:使用LRU算法在所有数据中进行筛选删除
  • 3.allkeys-lfu:使用LFU算法在所有数据中进行筛选删除
2.1.不处理
  • 1.noeviction:不会删除任何数据,拒绝所有写入操作并返回客户端错误信息,redis只响应读操作((error) OOM command not allowed when used memory)

三、LRU和LFU的区别

  • 1.LRU,最近最少使用,淘汰很久没被访问过的数据,以最近一次访问时间作为参考
  • 2.LFU,最不经常使用,淘汰最近一段时间被访问次数最少的数据,以次数作为参考
  • 3.绝大多数情况使用LRU策略
  • 4.存在大量热点缓存数据时,LFU更好

http://www.kler.cn/a/4757.html

相关文章:

  • web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理
  • 高性能网络模式:Reactor 和 Proactor
  • EFCore HasDefaultValueSql
  • Notepad++上NppFTP插件的安装和使用教程
  • Unity3d 基于Barracuda推理库和YOLO算法实现对象检测功能
  • 推荐一款自动生成财务报表分析的软件
  • 中介变量、调节变量与协变量
  • 人事文件签署单调、重复、繁重?君子签电子合同提升HR工作质效
  • Ajax:服务器的基本概念与初识Ajax
  • [水]与ChatGPT谈Java
  • 怎么将pdf压缩?pdf文件如何压缩?
  • 文心一言发布前一天,GPT-4震撼发布
  • 即时零售:不可逆的进化
  • 【WEB前端进阶之路】 HTML 全路线学习知识点梳理(下)
  • Air700E开发板|移芯EC618|4G Cat.1模组:概述及PinOut
  • vue3+SpringBoot+postgresql 项目前后端传参
  • 【为什么要用线程池】
  • Java 接口过滤为null 的字段
  • 19. 添加异步日志——3.继续完善
  • 限流的几种方案
  • Windows Server 2016 中文版、英文版下载 (updated Mar 2023)
  • 面向行业无线追踪技术解决方案:室内无线动态追踪
  • 我问了ChatGPT几个思维实验,想看看它有没有意识
  • Linux常用命令之网络命令
  • 【算法】【数组与矩阵模块】桶排序思想解决无序数组排序后相邻数间的最大差值