myriad-kv-client

1.0.0 • Public • Published

node-myriad-kv-client

About

Build Status

Build Status

Description

A nodejs myriad-kv client

Author

ContainerShip Developers - developers@containership.io

Installation

npm install myriad-kv-client

Usage

Instantiation

Create a new MyriadKVClient

var MyriadKVClient = require("myriad-kv-client");
var myriad_kv_client = new MyriadKVClient({
    host: "192.168.1.10", // interface where myriad is listening. defaults to 127.0.0.1
    port: 2666 // myriad management port. defaults to 2666
});

Keys

Get all keys

myriad_kv_client.keys(function(err, keys){
    if(err)
        throw err;

    console.log(keys);
});

Get a subset of keys, given a regex pattern

myriad_kv_client.keys("a::[a-z]::d", function(err, keys){
    if(err)
        throw err;

    console.log(keys);
});

Get

Get value for given key

myriad_kv_client.get("mykey", function(err, value){
    if(err)
        throw err;

    console.log(value);
});

Set

Set key and value

myriad_kv_client.set({ key: "mykey", value: "myvalue" }, function(err){
    if(err)
        throw err;
});

TTL

Get TTL value for given key

myriad_kv_client.ttl("mykey", function(err, ttl){
    if(err)
        throw err;

    console.log(ttl);
});

Set TTL value for given key in ms

myriad_kv_client.ttl("mykey", 60000, function(err){
    if(err)
        throw err;
});

Stat

Get myriad stats

myriad_kv_client.stat(function(err, stats){
    if(err)
        throw err;

    console.log(stats);
});

Snapshot

Force leader to create a snapshot

myriad_kv_client.snapshot(function(err){
    if(err)
        throw err;
});

Delete

Delete given key

myriad_kv_client.delete("mykey", function(err){
    if(err)
        throw err;
});

Flushes

Flushes all keys / values

myriad_kv_client.flush(function(err){
    if(err)
        throw err;
});

Errors

There are various errors that myriad-kv-client may return:

  • EINSUFFINFO - not enough parameters provided to function to successfully complete request
  • ENOKEY - requested key was not found
  • EFAILEDPROXY - failed to proxy request to leader node
  • ENOLEADER - no leader node found

Contributing

Pull requests and issues are encouraged!

Dependencies (2)

Dev Dependencies (2)

Package Sidebar

Install

npm i myriad-kv-client

Weekly Downloads

0

Version

1.0.0

License

GPL-3.0

Unpacked Size

109 kB

Total Files

27

Last publish

Collaborators

  • containershipbot
  • nicktate
  • normanjoyner