Skip to content

fengkx/cacheman-level

Repository files navigation

cacheman-level

Standalone caching library for Node.JS and also cache engine for cacheman using LevelDB specifically level.

NPM Build Status Coverage Status

Instalation

$ npm install cacheman-level

Usage

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');
        });
    });
});

API

CachemanLevel(location, [options, error-handler])

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

cache.set(key, value, [ttl, [fn]])

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'}
});

cache.get(key, fn)

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);
});

cache.del(key, [fn])

Deletes a key out of the cache.

cache.del('foo', function(err) {
    if (err) throw err;
    // foo was deleted
});

cache.clear([fn])

Clear the cache entirely, throwing away all values.

cache.clear(function(err) {
    if (err) throw err;
    // cache is now clear
});

Run tests

$ npm test

About

Cacheman engine using leveldb

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •