0.1.2 • Published 10 years ago

storeman v0.1.2

Weekly downloads
86
License
MIT
Repository
github
Last release
10 years ago

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.

0.1.2

10 years ago

0.1.1

10 years ago

0.0.3

10 years ago

0.0.1

10 years ago