首页 > 其他 > 详细

LRU

时间:2020-06-08 23:28:52      阅读:61      评论:0      收藏:0      [点我收藏+]

LRU(Least Recently Used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据。核心思想是如果数据最近被访问过,那么将来被访问的几率也会高。

实现代码如下:

class LRUCache {
  constructor(size){
    this.cache = new Map()
    this.size = size || 10
  }  
} 

LRUCache.prototype.get = function (key) {
  if (this.cache.has(key)) {
    // 存在即更新
    let value = this.cache.get(key);
    this.cache.delete(key);
    this.cache.set(key, temp);
    return value;
  }
  return null;
};

LRUCache.prototype.put = function (key, value) {
  if (this.cache.has(key)) {
    // 存在即更新(删除后加入)
    this.cache.delete(key);
  } else if (this.cache.size >= this.size) {
    // 不存在即加入
    // 缓存超过最大值,则移除最近没有使用的
    this.cache.delete(this.cache.keys().next().value);
  }
  this.cache.set(key, value);
};

 

LRU

原文:https://www.cnblogs.com/zhenjianyu/p/13069013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!