Package Exports
- lrucache
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lrucache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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()