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()
キャッシュ内のすべてのキーと値のペアを削除します。
