0.4.0 • Published 1 year ago

@jondotsoy/open-kv v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Open-KV: A JavaScript Implementation for Key-Value Store, Queues, and Pub/Sub Messaging

Open-KV is an open-source library that provides a simple way to work with key-value stores, queues, and pub/sub messaging using JavaScript. It aims to provide a scalable and flexible solution for building distributed systems.

Example Usage

Here's an example of how you can use Open-KV:

import { open } from "@jondotsoy/open-kv";

const kv = await open();

// Set/Get
await kv.set("foo", "biz");
await kv.get("foo"); // => "biz"
await kv.set("tar", "zaz", { ttl: 100 });
await setTimeout(200);
await kv.get("tar"); // => null

// Queue
await kv.enqueue("foo");
await kv.dequeue(); // => "foo"
await kv.dequeue(); // => null

// Pub/Sub
for await (const message of kv.subscribe()) {
  console.log(message);
  // => "foo"
  // => "biz"
}

await kv.publish("foo");
await kv.publish("biz");

Supported Databases

Open-KV supports the following databases:

  • Memory: In-memory key-value store
  • Redis: A popular open-source in-memory data store

With Open-KV, you can easily switch between these two databases depending on your use case and requirements.

Client KV

The Client KV command-line interface allows you to interact with your key-value store directly from the terminal. This can be particularly useful for quick testing and debugging.

# Set a key-value pair
kv set foo biz

# Get the value of a key
kv get foo
# Output: biz

# Attempt to get a non-existent key
kv get taz
# Output: (empty)
0.3.0

1 year ago

0.4.0

1 year ago

0.2.0

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago