key-json

1.0.0 • Public • Published

key-json 🐝

Key/Json Store with multiple interfaces

Install

To install key-json, simply use npm:

npm install key-json --save

Example

const Kj = require('key-json')

const kj = Kj({
	loggerLevel: 'info'
})

kj
//default manager
.use(Kj.managers.redis({
	//redis createClient() configuration
	host: '127.0.0.1',
	port: 6379
}))
.use('memcached', Kj.managers.memcached('localhost:11211', {
	retries:10,
	retry:10000,
	remove:true,
}))
.set('foo', { foo: 'foo' }, (err) => {
})
.get('foo', (err, json) => {
})
.has('foo', (err, exists) => {
})
.delete('foo', (err, done) => {
})
.manager('memcached')
//set bar key in the memcached manager
.set('bar', { bar: 'bar' }, (err) => {
})

Managers

A Manager is an abstraction layer between key-json and storage systems. Currently there are two available managers

  • Redis
  • Memcached

API


Kj([opts])

Creates a new instance of KeyJson.

Options are:

  • loggerLevel: ['info', 'warn', 'error', 'fatal']

instance.use([key, ] manager)

Set a new manager configuration

  • key, unique key for the manager
  • manager, compatible manager interface

instance.manager(key)

Switch to another manager by its key

  • key, unique key for the manager

instance.set(key, json[, expiry, cb])

Store json in its key/value store

  • expiry -> TTL for this key in seconds
  • cb -> (error) => {}

instance.get(key, cb)

Get json by its key

  • cb -> (err, json) => {}, json is already parsed

instance.has(key, cb)

Check if key is stored

  • cb -> (err, exists) => {}, exists is a boolean

instance.delete(key[, cb])

Delete key from the store

  • cb -> (err, done) => {}, done is a boolean

Readme

Keywords

Package Sidebar

Install

npm i key-json

Weekly Downloads

20

Version

1.0.0

License

MIT

Last publish

Collaborators

  • daack