当前位置: 首页 > news >正文

LRU缓存函数实现

LRU Cache直接翻译就是“最不经常使用的数据,重要性是最低的,应该优先删除”。

/*** LRU 缓存(Least Recently Used)* 当缓存容量达到上限时,优先淘汰最久未被使用的数据*/class LRUCacheMap {constructor(capacity) {this.capacity = capacity // 初始化最大缓存数据条数nthis.cache = new Map() // 初始化缓存空间map
                }get(domain) {if (!this.cache.get(domain)) return falseconst info = this.cache.get(domain)this.cache.delete(domain)this.cache.set(key, info)return info}put(domain, info) {if (this.cache.has(domain)) {this.cache.delete(domain) // 移除数据this.cache.set(domain, info) // 在末尾重新插入数据return}// 超出容量则淘汰 Map 头部(最旧)的键if (this.cache.size > this.capacity) {const oldestKey = this.cache.keys().next().valuethis.cache.delete(oldestKey)}this.cache.set(domain, info) // 写入数据
                }print() {console.log([...this.cache.entries()])}}

 

http://www.jsqmd.com/news/1280923/

相关文章:

  • 用运筹学与深度学习构建个人发展量化分析模型
  • 物联网安全:SE050安全元件与TM4C129XKCZAD的协同设计
  • 基于Arduino与3D打印的静音电动摇奶机DIY全攻略
  • 物联网设备电池管理:NBM7100A与MKV44F64VLH16解决方案
  • 2026年北京公司注册指南:直营与连锁代办怎么选 - 瑞雪中天
  • CVE-2026-31239实战:Mamba模型RCE漏洞检测脚本、漏洞复现与企业安全加固全流程
  • OLED显示器技术突破与市场爆发分析
  • MySQL数据库入门到实战:从零搭建环境到核心SQL语法详解
  • JAVA计算机毕设之基于 SpringBoot 的电商物流包裹收发追踪管理系统设计 中小型企业物流资源统筹管理系统实现(完整前后端代码+说明文档+LW,调试定制等)
  • 3步将键盘变成专业游戏手柄:vJoy虚拟手柄完全指南
  • PHP异步任务处理:原理、实现与性能优化
  • 告别手动重命名!Flut Renamer:跨平台批量文件重命名工具的完美解决方案
  • 物联网设备电源管理:NBM7100A与TM4C1299KCZAD优化方案
  • 循环水水质分析仪厂家——浊度、pH、电导率、氨氮哪家好? - 康宝莱智慧水务
  • 2026年最新!选英语听说智能软件一定要知道的3个核心标准
  • 物联网设备超低功耗设计:延长电池寿命至4.2年的实战方案
  • 087、YOLOv8改进实战:关键点检测头扩展,实现人体姿态与物体关键点联合检测
  • AI视频生成提示词全攻略:从零到一掌握结构化指令编写
  • AI驱动PPT生成工具实战:从部署到批量集成的完整指南
  • TI bq76PL455EVM评估板硬件连接与GUI配置实战指南
  • 12V直流电机改造实战:从PWM调速到机械适配,让老旧设备重获新生
  • 如何轻松管理中文文献:Zotero茉莉花插件完整指南
  • NBM7100A与PIC18F46K20的物联网低功耗电源管理方案
  • 2026 拉萨商业综合体防水防腐保温 本地服务商高口碑推荐榜.doc - 资讯报道
  • BetterNCM安装器:3步搞定网易云插件安装的智能解决方案
  • 影刀RPA完全指南:企业微信群机器人Webhook配置与错误通知自动推送
  • STM32与NBM7100A优化物联网设备电池寿命方案
  • AI大模型迭代加速:驱动因素、工程挑战与MLOps实践
  • Mac百度网盘限速破解实战指南:高效解锁SVIP下载权限
  • AI驱动超材料设计:代数语言模型与扩散模型实战指南