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

хранилище общих значений ключей на 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 Икс Икс Икс Икс Икс
cleanup_interval (мс) 60000 Икс Икс Икс Икс Икс
тайм-аут (мс) 0 Икс Икс
приставка «»
кэш ложный
размер кэша 65536
cache_timeout (мс) 60000

Ключ не истекает, если время timeout меньше или равно 0.

Простой пример (память backend).

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"));

библейский бэкэнд.

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()

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