素晴らしいコミュニティモジュール

fibjs の sql/level/mongo/redis 上の一般的なキー値ストア

インストール

1
npm install fib-kv [--save]

テスト

1
npm run ci

キーバリューストアの作成

var kvs = new kv(conn, opts);

1 2
conn: database connection or connection factory like fib-pool opts: kvs options
オプト デフォルト オブジェクト/マップ ルールキャッシュ レベルDB レディス MongoDB SQLite/MySQL
テーブル名 「kvs」 バツ バツ バツ
key_name 「く」 バツ バツ バツ バツ
値名 「v」 バツ バツ バツ バツ
key_size 32 バツ バツ バツ バツ バツ
値_サイズ 256 バツ バツ バツ バツ バツ
cleanup_interval(ms) 60000 バツ バツ バツ バツ バツ
タイムアウト(ミリ秒) 0 バツ バツ
プレフィックス 「」
キャッシュ
キャッシュサイズ 65536
cache_timeout(ミリ秒) 60000

timeoutが 0 以下の場合、キーは期限切れになりません

簡単な例 (メモリ バックエンド)。

1 2 3 4 5 6
var kv = require("fib-kv"); var kvs = new kv({ "a": 100, "b": 200 });

LevelDB バックエンド。

1 2 3 4
var kv = require("fib-kv"); var db = require("db"); var kvs = new kv(db.openLevelDB("test.ldb"));

fib-pool バックエンド。

1 2 3 4 5
var kv = require("fib-kv"); var db = require("db"); var pool = require("fib-pool"); var kvs = new kv(pool(() => db.openLevelDB("test.ldb")));

メソッド

kvs.setup()

バックエンド データベースをセットアップします。

v = kvs.get(k)

そのキーに格納されている値を返します。

kvs.set(k, v)

キーと値のペアを格納します。

e = kvs.has(k)

ストアにキーが設定されているかどうかを返します。

e = kvs.keys()

ストア内のすべてのキーを返します。

e = kvs.renew(k)

有効期限が切れていないキーの TTL を更新します。

kvs.remove(k)

キーでキーと値のペアを削除します。

e = kvs.cache_has(k)

キーがキャッシュに設定されているかどうかを返します。

kvs.cache_clear()

キャッシュ内のすべてのキーと値のペアを削除します。