A simple in-memory cache in ~100 lines.
A simple, small (~100 lines) in-memory cache for node.js or the browser (~1.5KB minified).
npm install tinycache
var TinyCache = require 'tinycache' ;var cache = ;// now just use the cachecacheput 'foo' 'bar' ;console.log cacheget 'foo' ;// that wasn't too interesting, here's the good partcacheput 'houdini' 'disapear' 100 ; // Time in msconsole.log 'Houdini will now ' + cacheget 'houdini' ;setTimeoutconsole.log 'Houdini is ' + cacheget 'houdini' ;200 ;// don't want to allocate separate caches?// there's also a default shared cache:var sharedCache = TinyCacheshared;sharedCacheput 'foo' 'bar' ;// or you could grab it in a one-linervar theSharedCache = require 'tinycache' shared;theSharedCacheget 'bloop' ;
Stores a value to the cache. If time (in ms) is specified, the value will be automatically removed (via setTimeout)
Retreives a value for a given key, or if no key is passed, will return the internal cache object.
Deletes a key, returns a boolean indicating if the key existed and was deleted
Deletes all keys
The current number of entries in the cache
The approximate size in bytes of the cache (including all objects stored and cache overhead)
This is a rough estimate, using the js-sizeof library.
The number of cache hits
The number of cache misses.
Many thanks to Paul Tarjan for the first iteration of this library (https://github.com/ptarjan/node-cache).