lrucache-nodejs

1.0.4 • Public • Published

lrucache-nodejs

N|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

😎

N|lrucache-nodejs

Package Sidebar

Install

npm i lrucache-nodejs

Weekly Downloads

5

Version

1.0.4

License

ISC

Unpacked Size

44.6 kB

Total Files

5

Last publish

Collaborators

  • sivsivsree