JavaScript Multi-Key LRU Cache
npm install mkc
Node implementation of a multi-key LRU cache. It uses
lru-cache under the hood and adds
functionality for handling mutli-keys puts and batch cache eviction (purging).
``js
// Require the library
var MultiKeyCache = require('mkc');
// Create a new cache
var cache = new MultiKeyCache({ max: 4 });
// Add a few entries to the cache
cache.set({ key1: 'alpha', key2: 'one' }, { name: 'one' });
cache.set({ key1: 'alpha', key2: 'two' }, { name: 'two' });
cache.set({ key1: 'beta', key2: 'one' }, { name: 'one' });
// Returns: { name: 'two' }
cache.get({ key1: 'alpha', key2: 'two' });
// Removes all entries with key1 === 'alpha'
cache.purge({ key1: 'alpha' });
`
`js`
// Create a Multi-key LRU Cache that accepts strings and only holds 1024
// characters at maximum.
var myCache = new MultiKeyCache({
max: 1024,
length: function (string) {
return string.length;
}
});
`js
// Add a few objects...
cache.set({a: 1, b: 1}, '1-1');
cache.set({a: 1, b: 2}, '1-2');
cache.set({a: 1, b: 3}, '1-3');
cache.set({a: 2, b: 1}, '2-1');
// Removes everything except '2-1'
cache.purge({ a: 1 });
`
on the command line. You can also build
the jsdocs for the project using npm run doc`.MIT