myriad-kv-client

A nodejs myriad-kv client

Usage no npm install needed!

<script type="module">
  import myriadKvClient from 'https://cdn.skypack.dev/myriad-kv-client';
</script>

README

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!