Skip to content

mrhooray/ttl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 1, 2019
916dfc9 · Nov 1, 2019

History

12 Commits
Nov 1, 2019
Oct 22, 2014
Oct 22, 2014
Oct 23, 2014
Oct 22, 2014
Feb 24, 2015
Oct 22, 2014
Feb 25, 2015
Nov 20, 2017

Repository files navigation

ttl Build Status

Simple in-memory cache for JavaScript

Installation

$ npm install ttl --save

Usage

var Cache = require('ttl');
var cache = new Cache({
    ttl: 10 * 1000,
    capacity: 3
});

cache.on('put', function(key, val, ttl) { });
cache.on('del', function(key, val) { });
cache.on('drop', function(key, val, ttl) { });
cache.on('hit', function(key, val) { });
cache.on('miss', function(key) { });

cache.put('foo', 'bar');
cache.put('ping', 'pong', 20 * 1000);
cache.put('yo', 'yo', 30 * 1000);
cache.put('whats', 'up'); // emit 'drop' event

cache.get('foo');     // > 'bar'
cache.get('yo');      // > 'yo'
cache.get('ping');    // > 'pong'
cache.get('lol');     // > undefined

// after 10 seconds
cache.get('foo');     // > undefined
cache.size();         // > 2
cache.del('ping')     // > 'pong'
cache.get('ping');    // > undefined
cache.size();         // > 1
cache.clear();
cache.size();         // > 0

License

MIT