Skip to content

Latest commit

 

History

History
26 lines (18 loc) · 1.07 KB

File metadata and controls

26 lines (18 loc) · 1.07 KB

node-adaptative-replacement-cache

Implementation of the ARC algorithm for Node.js

Description of the algorithm can be found in: http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.13.5210&rep=rep1&type=pdf or https://www.ipvs.uni-stuttgart.de/export/sites/default/ipvs/abteilungen/as/lehre/lehrveranstaltungen/vorlesungen/WS1415/material/ARC.pdf

var cache = new ARC(3);
//creates a cache of size 3.
cache.on('eviction', function(key, val) {...});
//the cache emit an 'eviction' event when an element leaves the cache.

#API

  • cache.get(key) returns undefined if the key is not in cache else returns its value; the cache internal state is updated if and only if the value is not null.

  • cache.peek(key) silently retrieves the value associated to key if key is in cache, else returns undefined.

  • cache.update(key, val) silently updates the value associated to a key that MUST be in the cache.

  • cache.del(key) is the same as cache.update(key, null)

  • cache.set(key, val) adds a new entry in the cache and update cache internal state. Key MUST NOT be in the cache.