1.LRU

LRU(Least recently used,最近最少使用)
其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
基本思路

新数据插入到列表头部;

每当缓存命中(即缓存数据被访问),则将数据移到列表头部;

当列表满的时候,将列表尾部的数据丢弃。

2.LFU

LFU(Least Frequently Used 最近最少使用算法)

它是基于“如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小”的思路。

3.Redis

Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时,怎么处理需要新写入且需要申请额外空间的数据。

noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。
allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。
allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。
volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。
volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。
volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。
redis 4.x 后支持LFU策略,最少频率使用
allkeys-lfu
volatile-lfu

Redis淘汰策略的配置
maxmemory 最大使用内存数量
maxmemory-policy noeviction 淘汰策略

redis 缓存 淘汰相关推荐

  1. Redis缓存淘汰策略

    文章目录 noeviction allkeys-lru allkeys-lfu volatile-lru volatile-lfu allkeys-random volatile-random vol ...

  2. Redis缓存淘汰机制

    Redis缓存淘汰机制  当Redis内存超出物理内存限制时,内存的数据会开始和磁盘产生频繁的交换,这样会使得redis的性能急剧下降. 在生产环境中,是不允许redis出现交换行为的,为了限制最大使 ...

  3. 源码角度详解Redis缓存淘汰机制(Eviction)

    本文从源码层面分析了 redis 的缓存淘汰机制,并在文章末尾描述使用 Java 实现的思路,以供参考. 相关配置 为了适配用作缓存的场景,redis 支持缓存淘汰(eviction)并提供相应的了配 ...

  4. Redis缓存淘汰之LRU

    我们知道Redis是基于内存来存储数据的,这也是它之所以查询速度这么快的原因之一.但是在数据量较大的场景下如果一直网缓存中存数据那么就会报OOM异常,因此我们就需要使用下面八种缓存淘汰策略对缓存进行删 ...

  5. 阅读 redis 源码,学习缓存淘汰算法 W-TinyLFU

    所有 IT 从业者都接触过缓存,一定了解基本工作原理,业界流行一句话: 缓存就是万金油,哪里有问题哪里抹一下 .那他的本质是什么呢? 上图代表从 cpu 到底层硬盘不同层次,不同模块的运行速度,上层多 ...

  6. mysql缓存淘汰机制_Redis缓存总结:淘汰机制、缓存雪崩、数据不一致....

    在实际的工作项目中, 缓存成为高并发.高性能架构的关键组件 ,那么Redis为什么可以作为缓存使用呢?首先可以作为缓存的两个主要特征: 在分层系统中处于内存/CPU具有访问性能良好, 缓存数据饱和,有 ...

  7. redis数据结构、持久化、缓存淘汰策略

    Redis 单线程高性能,它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题.redis利用epoll来实现IO多路复用,将连接信息和事件放到队列中,依次放 ...

  8. Redis缓存过期和淘汰策略

    题记: 文章内容输出来源:拉勾教育Java高薪训练营. 本篇文章是 Redis 学习课程中的一部分笔记. Redis缓存过期和淘汰策略 Redis性能高: 官方数据 读:110000次/s 写:810 ...

  9. Redis缓存(二)缓存淘汰策略,脏数据/脏页,缓存污染

    一.应该给Redis分配多少内存空间 八二原则:80%的请求都是访问数据库中同样的20%的数据(热点数据只占20%),所以一般给Redis分配15% - 30%数据总量的内存空间(只保存热点数据,冷数 ...

最新文章

  1. python【蓝桥杯vip练习题库】ADV-104打水问题
  2. Skin设计小组新作品发布—绿草蓝天
  3. PHP06 PHP操作MySQL
  4. sqlserver查询当月的每一天_SQL生成一年每一天的时间列表的几种方法
  5. 处理器的用户态和核心态
  6. 信息化之路------广州行
  7. Java笔记-使用jjwt生成jwt
  8. SQL Server2008数据库的维护 (第四部分)
  9. vue使用过程中的一些问题
  10. 2019: 属于BERT预训练语言模型之年
  11. 调和分析笔记1|极大函数法及简单应用
  12. 简明python教程最新版价格_《简明Python教程》【价格 目录 书评 正版】_中国图书网...
  13. 360全景倒车影像怎么看_360度全景倒车影像应该装么?告诉大家千万要冷静,一招对付所有...
  14. 波士顿大学计算机硕士排名,波士顿大学计算机工程研究生排名重点消息重点解析...
  15. ubuntu16.04下安装为知笔记
  16. Safari安装使用JsonView插件
  17. 决策树(四):使用决策树预测隐形眼镜类型
  18. Python---第8天---字符串
  19. AutoCAD生成png透明图像
  20. android adapter点击事件,Activity中响应Adapter的点击回调事件

热门文章

  1. 笑话(12) 内裤都磨破了
  2. Your Potential. Our Passion
  3. w ndows8系统没有声音怎么,Windows 8.1 系统新装没有声音
  4. python 驱动级鼠标_罗技各系鼠标测评(2020年12月更新)
  5. Python统计一个字符串中所有字符在另一个字符串出现的总次数
  6. Python批量导入图片生成PowerPoint 2007+文件
  7. PAT-甲级之树遍历问题的总结
  8. mysql shell命令和作用_MySQL的一些功能实用的Linux shell脚本分享
  9. windows c++ 服务 当前用户提权_windows xp 提权
  10. android 用户中心布局,android用户中心头像选择功能的方法实现-Go语言中文社区