Skip to content

upringjs/upring-kv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

upring-kv

npm version Build Status js-standard-style Coverage Status

Key Value store plugin for UpRing.

Install

npm i upring-kv --save

Usage

This library exposes the standard upring plugin interface.
Once you register it, it adds a kv name space with the API documented below.

const upring = require('upring')({
  logLevel: 'info',
  base: [],
  hashring: {
    joinTimeout: 200,
    replicaPoints: 10
  }
})

upring.use(require('upring-kv'))

upring.on('up', onReady)

function onReady () {
  upring.kv.put('hello', 'world', onPut)
}

function onPut (err) {
  if (err) {
    return upring.logger.error(err)
  }
  upring.kv.get('hello', onGet)
}

function onGet (err, value) {
  if (err) {
    return upring.logger.error(err)
  }
  console.log(value)
  upring.close()
}

API


kv.get(key, cb(err, value))

Get a value from the hashring.
async-await is supported as well:

await upring.kv.get('key')

kv.put(key, value, cb(err))

Put value in the hashring for the given key. async-await is supported as well:

await upring.kv.put('key', 'value')

kv.liveUpdates(key)

Returns a Readable stream in objectMode, which will include all updates of given key. It will emit the last value that was put, and it will re-emit it when reconnecting between multiple hosts.

Acknowledgements

This project is kindly sponsored by nearForm.

License

MIT

About

Key Value store on top of Upring.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •