fibjs の sql/level/mongo/redis 上の一般的なキーと値のストア
インストール
1npm install fib-kv [--save]
テスト
1npm run ci
キー/値ストアの作成
var kvs = new kv(conn, opts);
1
2conn: database connection or connection factory like fib-pool
opts: kvs options
選択します | デフォルト | オブジェクト/マップ | Lruキャッシュ | レベルDB | レディス | モンゴDB | SQLite/MySQL |
---|---|---|---|---|---|---|---|
テーブル名 | 「kvs」 | バツ | バツ | バツ | √ | √ | √ |
キー名 | 「き」 | バツ | バツ | バツ | バツ | √ | √ |
値の名前 | 「v」 | バツ | バツ | バツ | バツ | √ | √ |
キーのサイズ | 32 | バツ | バツ | バツ | バツ | バツ | √ |
値のサイズ | 256 | バツ | バツ | バツ | バツ | バツ | √ |
クリーンアップ間隔(ミリ秒) | 60000 | バツ | バツ | バツ | バツ | バツ | √ |
タイムアウト(ミリ秒) | 0 | バツ | √ | バツ | √ | √ | √ |
接頭辞 | 「」 | √ | √ | √ | √ | √ | √ |
キャッシュ | 間違い | √ | √ | √ | √ | √ | √ |
キャッシュサイズ | 65536 | √ | √ | √ | √ | √ | √ |
キャッシュタイムアウト(ミリ秒) | 60000 | √ | √ | √ | √ | √ | √ |
timeout
が 0 以下の場合、キーは期限切れになりません。
簡単な例 (メモリ バックエンド)。
1
2
3
4
5
6var kv = require("fib-kv");
var kvs = new kv({
"a": 100,
"b": 200
});
LevelDB バックエンド。
1
2
3
4var kv = require("fib-kv");
var db = require("db");
var kvs = new kv(db.openLevelDB("test.ldb"));
fib プール バックエンド。
1
2
3
4
5var 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()
キャッシュ内のすべてのキーと値のペアを削除します。