LRU缓存是什么&&手写LRU缓存

引入LRU缓存

146. LRU 缓存 - 力扣(LeetCode)

这道题目可以让人简单了解什么是LRU缓存

我给出一张图(来源灵茶山艾府)

我就把LRU缓存中的get理解为取书,put理解为存放书

使用LinkedHashMap的访问模式来实现LRU缓存

linkedHashMap

LinkedHashMap 继承自 HashMap,在 HashMap 的基础上用双向链表把所有节点串起来,保证遍历顺序和插入顺序一致。它有两种排序模式:插入顺序和访问顺序。默认是插入顺序,谁先 put 谁在前面;如果构造时把 accessOrder 设为 true,每次 get 或 put 已存在的 key 都会把对应节点挪到链表尾部,最近访问的永远在最后。

访问顺序模式天然适合做 LRU 缓存,只要继承 LinkedHashMap 重写 removeEldestEntry 方法,就能在插入新元素时自动淘汰最老的节点。

相关推荐
2601_962301015 小时前
缓存知识点总结
缓存·知识点·总结·后端开发·面试复习
莫得感情 o9 小时前
Redis 10 · 集群:16384槽、扩缩容与请求路由
redis·缓存
泡海椒10 小时前
JQuick-java (JQuick-ASM)性能优化原理:字节码生成与缓存机制深度解析
java·缓存·性能优化
莫得感情 o10 小时前
Redis 11 · 缓存问题:穿透、击穿与雪崩
redis·缓存
kiss strong11 小时前
redis服务器登录(内网环境,无法使用客户端)
数据库·redis·缓存
来让爷抱一个1 天前
2026 语义缓存实战:把命中契约写进SPEC,MonkeyCode 云端跑通
人工智能·机器学习·缓存
hweiyu001 天前
Redis命令:UNLINK
redis·缓存
志尊宝1 天前
Vue3 零基础每日笔记(009):watch 侦听器——数据一变就“做事“
vue.js·笔记·缓存
FfHUCisI1 天前
Go 内存分配器概览:从 TCMalloc 到三级缓存架构
缓存·架构·golang
2401_833269301 天前
RecyclerView的缓存复用机制
缓存