← 中文资源

简体中文版本

LRU 缓存实现

实现固定容量的 LRU 缓存:读取会刷新最近使用顺序,借助 Map 的插入顺序让淘汰操作为 O(1)。同时统计命中与未命中次数,便于判断容量与键选择是否有效。

阅读英文原文

功能说明

实现固定容量的 LRU 缓存:读取会刷新最近使用顺序,借助 Map 的插入顺序让淘汰操作为 O(1)。同时统计命中与未命中次数,便于判断容量与键选择是否有效。

运行命令

node lru.mjs

预期输出

示例先访问 a 刷新其位置,再插入 c,应淘汰 b。console.log 输出为:

evicted=b
hits=1 misses=0

限制

缓存值保存在内存中且没有基于时间的过期;若需要条目老化,应加入时间戳与 TTL 判定。

上述代码与预期输出严格对应,可在本地按运行命令复现并逐项核对。当前实现覆盖了最常见的使用路径,超出上文限制所述边界的场景需要额外的设计与实现。若要在生产环境使用,建议先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。

本译文由 AI 依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读。