Standalone caching library for Node.JS and also cache engine for cacheman using LevelDB specifically level.
$ npm install cacheman-level
Promise is support
const CachemanLevel = require('cacheman-level');
const cache = new CachemanLevel('./DS_Store'); //location
;(async () => {
// set the value
await cache.set('my key', { foo: 'bar' });
const value = await cache.get('my key');
console.log(value); //-> {foo:"bar"}
})()
const CachemanLevel = require('cacheman-level');
const cache = new CachemanLevel('./DS_Store'); //location
// 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-level
instance. options
are level options including checkFrequency
.
const options = {
prefix: 'cache',
checkFrequency: 15 * 1000
};
const cache = new CachemanLevel(location, options);
more options get be found here
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
});
$ npm test