Замечательный модуль сообщества

общее хранилище ключей и значений на sql / level / mongo / redis для fibjs

Установить

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
выбирает дефолт объект / карта LruCache LevelDB Redis MongoDB SQLite / MySQL
table_name "квс" Икс Икс Икс
key_name "к" Икс Икс Икс Икс
value_name "v" Икс Икс Икс Икс
key_size 32 Икс Икс Икс Икс Икс
value_size 256 Икс Икс Икс Икс Икс
интервал_чистки (мс) 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()

удаляет все пары ключ-значение из кеша.