小工具知识网

当前位置: 首页 > 行业知识 > 前端 JS 经典:LRU 缓存算法

行业知识

前端 JS 经典:LRU 缓存算法

2026-11-11 23:22:09 来源:互联网转载

前言:什么是 LRU 呢,单词全拼 Least Recently Used,意思是最久未使用。这个算法是做缓存用的,比如,你要缓存一组数据,你要划分缓存块出来,因为不可能每个数据都做缓存,那么划出来的这个缓存块,就要遵守 LRU 缓存算法。比如你画出来了 4 个缓存块,你已经存了 4 个缓存数据,那么新的数据还要缓存进去,就需要删除之前的一个缓存,那么删除哪个呢,就是最久未使用的那个数据,算法实现如下:定义一个缓存内,用 map 来装键值对。# 代表的私有属性。has 判断是否有缓存数据,get 获取数据后,数据要变成最新使用的数据,要删的时候,不会删它,set 存入新数据,然后删除最久未使用的数据。

class LRUCache {  #map;  #length;  constructor(len) {    this.#map = new Map();    this.#length = len;  }  has(key) {    return this.#map.has(key);  }  get(key) {    if (this.has(key)) return null;    const value = this.#map.get(key);    this.#map.delete(key);    this.#map.set(key, value);    return value;  }  set(key, value) {    if (this.has(key)) {      this.#map.delete(key);    }    this.#map.set(key, value);    if (this.#map.size > this.#length) {      this.#map.delete(this.#map.keys().next().value);    }  }}

上一篇:服务器多大怎么查看内存?

下一篇:揭秘,PYD背后的真正含义是什么?