общее хранилище значений ключа на sql/level/mongo/redis для fibjs
Установить
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
выбирает | по умолчанию | объект/Карта | ЛруКэш | УровеньБД | Редис | МонгоБД | SQLite/MySQL |
---|---|---|---|---|---|---|---|
имя_таблицы | "квс" | Икс | Икс | Икс | √ | √ | √ |
имя_ключа | "к" | Икс | Икс | Икс | Икс | √ | √ |
имя_значения | "в" | Икс | Икс | Икс | Икс | √ | √ |
key_size | 32 | Икс | Икс | Икс | Икс | Икс | √ |
значение_размера | 256 | Икс | Икс | Икс | Икс | Икс | √ |
Cleanup_interval (мс) | 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-pool.
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()
удаляет все пары ключ-значение в кеше.