lrucache-nodejs
v1.0.4
Published
LRU (Recently Used Cache) Cache for node.js or Browser
Downloads
7
Maintainers
Readme
lrucache-nodejs
A least recently used (LRU) cache is a cache implementation that discards the least recently used item when the cache becomes full. This requires keeping track of what was used when, and becomes the crux of maintaining an O(1) time complexity.
When an item is read from the cache (or added), it is marked as the most recently used item, and all other items get "shifted" over one. If the queue is full, the last item gets removed (shifted off). The key to this is using a linked list to rearrange the elements, and a map to store everything.
Algorithm Analysis:
- Time complexity: O(1)
- Space complexity: O(n)
Installation 💻
lrucache-nodejs is plain javascript runs on browser and nodejs
via npm
$ npm install lrucache-nodejs --save
Methods
Import the library:
const LRUCache = require('lrucache-nodejs').Cache
Implementation and Functions:
const cache = new LRUCache([cacheSize = 10]);
// return an item from the cache
cache.get(key)
// add an item to the cache. overwrite if already exists
cache.set(key, value)
// remove an item from the cache
cache.remove(key)
// reset the cache to an empty and fresh state
cache.clear(limit = 10)
// Traverse each cached item and call a function
// callback is passed [node element, element number, cache instance]
cache.forEach(callback)
// return a JSON represenation of the cache
cache.toJSON()
Test:
$ npm test
(optional) Import the Node:
const LRUCache = require('lrucache-nodejs').Node
LRU Cache TL;DR
See LRU Cache wiki
😎