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

【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.lryc.cn/news/44096.html

相关文章:

  • 指针和数组(二)
  • Linux WIFI 驱动实验
  • UART驱动情景分析-write
  • Metasploit入门到高级【第四章】
  • java 继承super
  • Java学习笔记——多态
  • Python处理JSON数据
  • JVM信息查询命令
  • redis 面试题
  • SpringCloud微服务技术栈.黑马跟学(十二)
  • HashMap集合存储学生对象并遍历
  • “提效”|教你用ChatGPT玩数据
  • https://app.hackthebox.com/machines/Inject
  • Java Web 实战 15 - 计算机网络之网络编程套接字
  • 基于pdf2docx模块Python实现批量将PDF转Word文档(安装+完整代码教程)
  • 3.21~3.22
  • Chromium 改造实录:增加 MPEG TS 格式支持
  • 性能优化之-事件代理
  • MSDS 即化学品安全说明书
  • 真人手办没法实现网购?我有一个好办法!
  • 2019湖南省大学生程序设计竞赛题解(D)
  • 【开发】中间件——RocketMQ
  • 36 UnitTest框架 - 参数化
  • Qt源码阅读(四) 事件循环
  • 银行数字化转型导师坚鹏:银行数字化领导力提升之道
  • Vue2 -- 自定义单选内容的单选框组件
  • 让PyTorch训练速度更快,你需要掌握这17种方法
  • LeetCode-309. 最佳买卖股票时机含冷冻期
  • AUTOSAR知识点Com(七):CANSM初认知
  • 递归:斐波那契数列、递归实现指数型枚举、递归实现排列型枚举