File caching library supporting clusters and multiple instances for Node.JS and also cache engine for cacheman.
$ npm i cacheman-file-cluster -Svar CachemanFile = require('cacheman-file-cluster');
var cache = new CachemanFile({
tmpDir: "./cache"
});
// set the value
cache.set('my key', { foo: 'bar' }, function (error) {
if (error) throw error;
// get the value
cache.get('my key', function (error, value) {
if (error) throw error;
console.log(value); //-> {foo:"bar"}
// delete entry
cache.del('my key', function (error){
if (error) throw error;
console.log('value deleted');
});
});
});Create cacheman-file-cluster instance.
var cache = new CachemanFile();Stores or updates a value.
cache.set('foo', { a: 'bar' }, function (err, value) {
if (err) throw err;
console.log(value); //-> {a:'bar'}
});Or add a TTL(Time To Live) in seconds like this:
// key will expire in 60 seconds
cache.set('foo', { a: 'bar' }, 60, function (err, value) {
if (err) throw err;
console.log(value); //-> {a:'bar'}
});Retrieves a value for a given key, if there is no value for the given key a null value will be returned.
cache.get(function (err, value) {
if (err) throw err;
console.log(value);
});Deletes a key out of the cache.
cache.del('foo', function (err) {
if (err) throw err;
// foo was deleted
});Clear the cache entirely, throwing away all values.
cache.clear(function (err) {
if (err) throw err;
// cache is now clear
});Get all entries in the cache. Entries are returned as an array
cache.set('foo', { a: 'bar' }, 10, function (err, result) {
cache.getAll(function (err, results) {
console.log(results) // [ { a: 'bar' } ]
});
});$ make testMIT License