/* ======================================== LRU 最近最少使用 ======================================== */
function LRUCache(limit){
limit = limit||10;
var _store = [];
var index = {};
this.get = function(key){
var ind = index[key];
if(_store[ind]==null){ // 未命中
return null;
}
var newArr = _store.splice(0,ind+1);
var result = newArr.pop();
_store = newArr.concat(_store);
_store.unshift(result);
for(var k in index){
var i = index[k];
if(i==ind){
index[k] = 0;
}else if(i<ind){
index[k] = ++index[k];
}
}
return result;
};
this.set = function(key,value){
if(_store.length>=limit){
_store.pop();
}
for(var k in index){
index[k] = index[k]+1;
}
_store.unshift(value);
index[key] = 0;;
};
this.list = function(){
console.log(_store);
};
}js 简单实现 LRU
原创antlove 博主文章分类:javascript ©著作权
文章标签 js lru 文章分类 JavaScript 前端开发
上一篇:js 简单实现FIFO
下一篇:js 简单实现 LFU
-
JS拖拽功能的简单实现以及课程表拖拽排课
利用浏览器提供的拖拽API实现拖拽功能
拖拽 事件处理 拖拽操作 拖拽事件 -
Node.js调用DeepSeek Api 实现本地智能聊天的简单应用
Node.js调用DeepSeek API 在本地聊天使用指南
Node.js DeepSeek -
js实现轮播图
一个简单的轮播图插件
轮播图 js -
使用 LinkedHashMap 实现简单的 LRU 算法
使用 LinkedHashMap 实现简单的 LRU 算法
System 缓存 插入节点 -
LRU 算法——简单的淘汰算法
————— 两个月前 ————— 用户信息当
链表 缓存 用户信息
















