Map実装のかんたんLRU Cacheモジュール。
$ npm i @honeo/lru-cache
const LRUCache = require('@honeo/lru-cache');
const cache = new LRUCache();
cache.set('foo', 'bar');
cache.get('foo'); // "bar"
for(let [key, value] of cache){
key+value; // "foobar"
}
Mapを継承している。
インスタンスを作る。
const cache = new LRUCache({
capacity: 2501,
expire: 1000*60*60 // 1h
});
key | type | default | description |
---|---|---|---|
capacity | number | Infinity | キャッシュの最大数 |
expire | number | Infinity | キャッシュの期限ms |
Lazy Expiration実装のため、すぐにGCさせたい場合は明示的に#delete()などで要素を削除する必要がある。また#sizeは期限切れの要素を含んだ数を返す。
引数1をkeyとして引数2のvalueをキャッシュする。
自身を返す。
cache.set('hoge', 'hogehoge');
// expire: 1m
cache.set('fuga', 'fugafuga', 1000*60);
インスタンスの最大キャッシュ数を取得・設定する。
const number = cache.capacity;
// Max: 1000
cache.capacity = 1000;
インスタンスの標準キャッシュ期限を取得・設定する。
const number = cache.expire;
// expire: 1h
cache.expire = 1000*60*60;