npm install cacherjscacherjs
========









> 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
----------
key.pop is a boolean flag indicating whether to also pop/remove the item from cache.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 callbackkey from cache.Example
-----------
``javascript``
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