README
CacheManager
Class that manages the caches created in the servers, primarily in nsapi.
Usage
let cache = new CacheManager({
prune_interval: 60 // allows cache manager to prune caches at this interval, seconds
auto_start: true // when CacheManager is instantiated, will default to auto_prune
defaults // sets default opts of each child cache
});
cache.create({ ttl = 60 }) // creates a cache
cache.stats() // returns array of objects with {name, ttl, size} for each cache
cache.start() // prunes cache on cache_interval prune interval, default 60 seconds
cache.stop() // stops pruning cache
cache.pruneAll() // prunes all entries older than cache ttl
let myCache = cache.getCache(name)
new Cache ({
name // random numbers
ttl: 60 // default
clone // uses built in clone function, unless you pass in your own
})
myCache.name() // name of cache
myCache.ttl() // ttl of the cache
myCache.get(arg, fn) // gets a cloned value from the cache, using arg as a key. will perform function on arg if there is no value in cache, returns undefined if no function
myCache.set(arg, value) // sets a cloned value in cache under arg key
myCache.del(arg) // deletes an entry from the cache
myCache.keys() // arrays of entries
myCache.size() // how many entries
myCache.reset() // deletes all entries
myCache.prune() // deletes any entry older than ttl