@coderbuzz/kvs
v0.3.0
Published
Lightweight SQLite-backed key-value store with atomic transactions, TTL, queue, and TypeScript client SDK.
Maintainers
Readme
KVS — @coderbuzz/kvs
Multi-backend key-value store for TypeScript. Embed directly in your app — zero HTTP deps. Supports SQLite (sync) and PostgreSQL (async).
Atomic transactions, TTL expiry, persistent queue with retries, real-time watch, and push-based listeners.
Installation
npm install @coderbuzz/kvsQuick Start
import { KVStore, AsyncKVStore } from "@coderbuzz/kvs";
// Sync — SQLite (bun:sqlite)
const store = new KVStore("kv.db");
store.set(["greeting"], "hello world");
console.log(store.get(["greeting"])?.value);
// Atomic counters
const views = store.increment(["page", "views"]);
store.increment(["page", "views"], 5); // custom delta
// Queue with auto-retry
store.enqueue({ task: "send-email" }, { topic: "mailer", maxAttempts: 3 });
store.addQueueListener("mailer", (msg) => {
processTask(msg.payload);
store.acknowledge(msg.id);
});
// Async — SQLite or PostgreSQL (bun:sql)
const asyncStore = new AsyncKVStore("sqlite://kv.db");
await asyncStore.set(["greeting"], "hello world");
console.log(await asyncStore.get(["greeting"]));
// PostgreSQL
const pgStore = new AsyncKVStore("postgres://user:pass@localhost:5432/kvdb");
await pgStore.set(["key"], "value");Documentation
Full API reference: DOCS.md
License
MIT © 2026 Indra Gunawan
