magasin général de valeurs-clés sur sql/level/mongo/redis pour fibjs
Installer
1npm install fib-kv [--save]
Test
1npm run ci
Création d'un magasin clé-valeur
var kvs = new kv(conn, opts);
1
2conn: database connection or connection factory like fib-pool
opts: kvs options
opte | défaut | objet/Carte | LruCache | NiveauDB | Rédis | 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 | √ | √ |
taille_clé | 32 | X | X | X | X | X | √ |
Taille de la valeur | 256 | X | X | X | X | X | √ |
intervalle_de nettoyage (ms) | 60000 | X | X | X | X | X | √ |
délai d'attente (ms) | 0 | X | √ | X | √ | √ | √ |
préfixe | "" | √ | √ | √ | √ | √ | √ |
cache | FAUX | √ | √ | √ | √ | √ | √ |
taille du cache | 65536 | √ | √ | √ | √ | √ | √ |
cache_timeout(ms) | 60000 | √ | √ | √ | √ | √ | √ |
Une clé n’expirera pas si timeout
elle est inférieure ou égale à 0.
Exemple simple (backend mémoire).
1
2
3
4
5
6var kv = require("fib-kv");
var kvs = new kv({
"a": 100,
"b": 200
});
Back-end LevelDB.
1
2
3
4var kv = require("fib-kv");
var db = require("db");
var kvs = new kv(db.openLevelDB("test.ldb"));
backend du pool 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")));
Méthodes
kvs.setup()
configurer la base de données backend.
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 le 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.