熊猫钓鱼
面试出现 962 次的 LRU:get 加读锁就错了
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
熊猫钓鱼
社区首页
>
专栏
>
面试出现 962 次的 LRU:get 加读锁就错了
面试出现 962 次的 LRU:get 加读锁就错了
熊猫钓鱼
关注
修改于 2026-10-10 10:29:53
修改于 2026-10-10 10:29:53
54
0
举报
概述
摘要:LRU 缓存是算法面试里排名第 2 的设计题,但它真正考的不是会不会写双向链表,而是你有没有把缓存放进并发环境里跑过。本文从手写 LRU 的三个考点讲起,重点剖析一个反直觉的结论——get 命中时其实在改写 6 处指针,所以必须加写锁而非读锁;随后给出保住读并发的分段方案、TTL 过期策略,以及 LFU 的 O(1) 论证,最后附上完整追问链与对撞测试结果。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
算法
面试
媒体 AI
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档