New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

lrucache-nodejs

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lrucache-nodejs

LRU (Recently Used Cache) Cache for node.js or Browser

latest
Source
npmnpm
Version
1.0.4
Version published
Maintainers
1
Created
Source

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

Keywords

lrucache

FAQs

Package last updated on 24 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts