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 = Cacher;var cache = ttl: 180000 interval: 30000 max: 5000 maxStrategy: CacherMAX_STRATEGYCLOSEST_TTL;ttlCache;ttlCache; //"someValue"
License
MIT