Module communautaire génial

magasin général de valeurs-clés sur sql / level / mongo / redis pour fibjs

Installer

1
npm install fib-kv [--save]

Tester

1
npm run ci

Créer un magasin clé-valeur

var kvs = new kv(conn, opts);

1 2
conn: database connection or connection factory like fib-pool opts: kvs options
opte défaut objet / carte LruCache LevelDB Redis MongoDB SQLite / MySQL
nom de la table "kvs" X X X
nom_clé "k" X X X X
nom_valeur "v" X X X X
key_size 32 X X X X X
Taille de la valeur 256 X X X X X
cleanup_interval (ms) 60000 X X X X X
timeout (ms) 0 X X
préfixe ""
cache faux
taille du cache 65536
cache_timeout (ms) 60000

Une clé n'expire pas si le timeout est inférieur ou égal à 0.

Exemple simple (backend mémoire).

1 2 3 4 5 6
var kv = require("fib-kv"); var kvs = new kv({ "a": 100, "b": 200 });

Backend LevelDB.

1 2 3 4
var kv = require("fib-kv"); var db = require("db"); var kvs = new kv(db.openLevelDB("test.ldb"));

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

Méthodes

kvs.setup()

configurer la base de données principale.

v = kvs.get(k)

renvoie la valeur stockée pour cette clé.

kvs.set(k, v)

stocke une paire clé-valeur.

e = kvs.has(k)

renvoie si une clé est définie sur le magasin.

e = kvs.keys()

renvoie toutes les clés du magasin.

e = kvs.renew(k)

renouvelle TTL pour une clé non expirée.

kvs.remove(k)

supprime une paire clé-valeur par clé.

e = kvs.cache_has(k)

renvoie si une clé est définie sur le cache.

kvs.cache_clear()

supprime toutes les paires clé-valeur du cache.