storeman
v0.1.2
Published
Simple storage API unifier with prefix support
Downloads
117
Maintainers
Readme
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.