
Research
/Security News
jscrambler npm Package Compromised in Supply Chain Attack
A compromised jscrambler npm release added a malicious preinstall hook that runs hidden native binaries on Linux, macOS, and Windows.
cache-lru-high
Advanced tools
使用 hashMap + double linked list 实现所有操作时间复杂度为 O(1) 的 LRU
npm install cache-lru-high
构造函数 maxSize 默认值为 10
设置缓存的数据
获取缓存的数据
同 array.keys()
同 array.values()
按照缓存的顺序遍历
let lru = new CacheLRU();
lru.set("1", { value: 1 });
lru.set("2", { value: 2 });
lru.set("3", { value: 3 });
lru.set("4", { value: 4 });
lru.set("5", { value: 5 });
//[ '5', { value: 5 } ] [ '4', { value: 4 } ] [ '3', { value: 3 } ] [ '2', { value: 2 } ] [ '1', { value: 1 } ]
console.log(...lru.entries());
//设置最大的缓存数
//最早的数据被抛弃掉
let lru = new CacheLRU(5);
lru.set("1", { value: 1 });
lru.set("2", { value: 2 });
lru.set("3", { value: 3 });
lru.set("4", { value: 4 });
lru.set("5", { value: 5 });
lru.set("6", { value: 6 });
// {value:6},{value:5},{value:4},{value:3},{value:2},
console.log(...lru.values());
// get 之后数据被放到最前面
let lru = new CacheLRU();
lru.set("1", { value: 1 });
lru.set("2", { value: 2 });
lru.set("3", { value: 3 });
lru.set("4", { value: 4 });
lru.set("5", { value: 5 });
lru.get("2");
// 2,5,4,3,1
console.log(...lru.keys());
}
// forEach()
let lru = new CacheLRU();
lru.set("1", { value: 1 });
lru.set("2", { value: 2 });
lru.set("3", { value: 3 });
lru.set("4", { value: 4 });
lru.set("5", { value: 5 });
lru.get("2");
lru.forEach(node => {
console.log(node.key);
});
npm run test
👤 cuixiaorui
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator
FAQs
使用 hashMap + double linked list 实现所有操作时间复杂度为 O(1) 的 LRU
We found that cache-lru-high demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A compromised jscrambler npm release added a malicious preinstall hook that runs hidden native binaries on Linux, macOS, and Windows.

Research
/Security News
A malicious .NET package is typosquatting the Braintree SDK to steal live payment card data, merchant API keys, and host secrets from production apps.

Security News
/Research
Compromised Injective SDK npm version 1.20.21 exfiltrates wallet private keys and mnemonics through fake telemetry functionality.