Bun SQLite Key Value
A key-value store with SQLite that uses bun:sqlite and v8 as a fast JSON replacement.
The ideas for the implementation come from
bun-sqlite-cache and
bun-kv.
Installation
bun add bun-sqlite-key-value
Usage
Using this key value store is dead simple:
simply create a new BunSQLiteKeyValue instance and you're set
import { BunSQLiteKeyValue } from "bun-sqlite-key-value";
const store = new BunSQLiteKeyValue();
store.set("foo", {bar: "baz", waldo: [4, 3, 2, 8]});
const value = store.get("foo");
console.log(value)
Documentation
Open Database
const store = new BunSQLiteKeyValue([filename], [options])
-
filename
:
The full path of the SQLite database to open.
Pass an empty string (""
) or ":memory:"
or undefined for an in-memory database.
-
options
:
Defaults to {readwrite: true, create: true}
.
If a number, then it's treated as SQLITE_OPEN_*
constant flags.
Example
import { BunSQLiteKeyValue } from "bun-sqlite-key-value";
const store = new BunSQLiteKeyValue();
Write Value
store.set<T=any>(key, value)
-
T
can be any data type serializable by v8.
Supported data types.
-
key
:
The key must be a string.
-
value
:
The value can be any object that can be serialized with
v8.
This means that not only simple data types such as JSON are possible,
but also more complex types such as sets or maps.
Here you will find a list of
supported data types.
Example
import { BunSQLiteKeyValue } from "bun-sqlite-key-value";
const store = new BunSQLiteKeyValue();
store.set<string>("my-key", "my-value")
Read Value
store.get<T=any>(key)
Example
import { BunSQLiteKeyValue } from "bun-sqlite-key-value";
const store = new BunSQLiteKeyValue();
store.set<string>("my-key", "my-value")
console.log(store.get<string>("my-key"))