cacherjs
v0.1.2
Published
JS TTL Cache Mechanism
Downloads
389
Readme
cacherjs
JS TTL Cache Mechanism.
This is a UMD module that can be used as AMD module, native and NodeJS.
Getting Started
Run npm install cacherjs
Overview
A TTL cache mechanism with the following options at instance creation
options.max
Type: Number
Default value: 0
optional max items in cache - 0 is unlimited
options.maxStrategy
Type: Cacher.MAX_STRATEGY
Default value: Cacher.MAX_STRATEGY.NO_ADD
optional strategy for max items (new items will not be added or closest ttl item should be removed)
options.ttl
Type: Number
Default value: 0
optional TTL for each cache item - 0 is unlimited
options.interval
Type: Number
Default value: 1000
optional interval for eviction loop in milliseconds
options.ontimeout
Type: Function
Default value: Empty function
optional global handler for timeout of items in cache - return false if you want the items to not be deleted after ttl, or object { ttl: number, callback: function } to update the TTL or callback
options.onkickout
Type: Function
Default value: Empty function
optional global handler for kick out (forced evict) of items in cache
API
get (key, [optional]pop)
Will get the value associated with the given key
.
pop
is a boolean flag indicating whether to also pop/remove the item from cache.
set (key, value, [optional]ttl, [optional]callback)
Will set value
and associate it with the given key
.
ttl
will override the time to live for the item inside the cache.
callback
will be called on item timeout - return false if you want the item to not be deleted after ttl, or object { ttl: number, callback: function } to update the TTL or callback
remove (key)
Will remove key
from cache.
removeAll
Will clean the cache completely
Example
var Cacher = require("cacherjs").Cacher;
var cache = new Cacher({
ttl: 180000,
interval: 30000,
max: 5000,
maxStrategy: Cacher.MAX_STRATEGY.CLOSEST_TTL
});
ttlCache.set("key1", "someValue");
ttlCache.get("key1"); //"someValue"
License
MIT