storeman

0.1.2 • Public • Published

Storeman

A man to help you unify API for mischellaneous storage engines.

Provide a handful set of of useful methods: get, set (with ttl), del, mget.

With built-in Redis and LevelUP support.

Usage

var Storeman = require('storeman')
var Redis = require('redis')
var levelup = require('levelup')
 
// cache with Redis
var cache = new Storeman({
    prefix: 'cache:',
    client: Redis.createClient(),
    encode: function(data){
        return JSON.stringify(data)
    },
    decode: function(data) {
        return JSON.parse(data)
    }
})
 
// persistent storage with leveldb
var store = new Storeman({
    prefix: 'store:',
    client: levelup('./var/leveldb')
})

API

The main purpose of this module is to provide a higher level of consistent API over different storage clients. That means:

  • consistent method name
  • consistent function signature
  • consistent return results

All methods include:

store.get(key, callback)

Will callback(null, undefined) when no data is found, not return a null (as redis does) or emit an error (as leveldb does). This behavior is for in case you want really set data as null.

store.set(key, value, [ttl], callback)

The client is responsible for handling ttl, Storeman will not do this for you.

store.del(key, callback)

Supports batch delete by passing an Array as key.

License

the MIT license.

Package Sidebar

Install

npm i storeman

Weekly Downloads

6

Version

0.1.2

License

MIT

Last publish

Collaborators

  • ktmud