Skip to content

edasarl/node-adaptative-replacement-cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Implementation of the ARC algorithm for Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published