首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >面试出现 962 次的 LRU:get 加读锁就错了

面试出现 962 次的 LRU:get 加读锁就错了

作者头像
熊猫钓鱼
修改于 2026-10-10 10:29:53
修改于 2026-10-10 10:29:53
540
举报
概述
摘要:LRU 缓存是算法面试里排名第 2 的设计题,但它真正考的不是会不会写双向链表,而是你有没有把缓存放进并发环境里跑过。本文从手写 LRU 的三个考点讲起,重点剖析一个反直觉的结论——get 命中时其实在改写 6 处指针,所以必须加写锁而非读锁;随后给出保住读并发的分段方案、TTL 过期策略,以及 LFU 的 O(1) 论证,最后附上完整追问链与对撞测试结果。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档