LRUCache
LRU Cache for node.js/browser.
使用链表实现的 LRU 缓存。get
、set
和 update
方法会更新 LRU 优先级。
Install
Node.js:
npm install lrucache
bower:
bower install lrucache
Browser:
<script src="/pathTo/lrucache.js"></script>
API
const LRUCache = require('lrucache')
Class LRUCache([capacity])
capacity
: : Optional, Type: Number
, Default: Number.MAX_SAFE_INTEGER
.
const cache = LRUCache(100)
LRUCache.prototype.get(key)
Return value
.
let a = cache.get('a')
LRUCache.prototype.set(key, value)
Return this
.
cache.set('a', [1, 2, 3])
LRUCache.prototype.update(key, fn)
Return this
, It only run when key exists.
cache.update('a', function (a) {
a.push(4)
return a
})
LRUCache.prototype.remove(key)
Return this
.
cache.remove('a')
LRUCache.prototype.removeAll(key)
Return this
.
cache.removeAll()
LRUCache.prototype.keys()
Return a array of keys
.
cache.keys()
LRUCache.prototype.has(key)
Return true
or false
.
cache.has('a')
LRUCache.prototype.staleKey()
Return the stalest key
or null
.
let staleKey = cache.staleKey()
LRUCache.prototype.popStale()
Return the stalest data
or null
.
let staleDate = cache.popStale()
LRUCache.prototype.info()
Return info
.
cache.info()