Mòdul comunitari fantàstic

magatzem general de valors-clau a sql/level/mongo/redis per a fibjs

Instal·lar

1
npm install fib-kv [--save]

Prova

1
npm run ci

Creació d'una botiga de valor-clau

var kvs = new kv(conn, opts);

1 2
conn: database connection or connection factory like fib-pool opts: kvs options
opta per defecte objecte/Mapa LruCache LevelDB Redis MongoDB SQLite/MySQL
nom_taula "kvs" x x x
nom_clau "k" x x x x
nom_valor "v" x x x x
mida_clau 32 x x x x x
mida_valor 256 x x x x x
interval de neteja (ms) 60000 x x x x x
temps d'espera (ms) 0 x x
prefix ""
memòria cau fals
cache_size 65536
cache_timeout (ms) 60000

Una clau no caducarà si timeoutés menor o igual a 0.

Exemple senzill (backend de memòria).

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

Backend de LevelDB.

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

backend de 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ètodes

kvs.setup()

configurar la base de dades de fons.

v = kvs.get(k)

retorna el valor emmagatzemat per a aquesta clau.

kvs.set(k, v)

emmagatzema un parell clau-valor.

e = kvs.has(k)

retorna si s'ha establert una clau a la botiga.

e = kvs.keys()

retorna totes les claus a la botiga.

e = kvs.renew(k)

renova el TTL per a una clau no caducada.

kvs.remove(k)

suprimeix un parell clau-valor per clau.

e = kvs.cache_has(k)

retorna si s'ha establert una clau a la memòria cau.

kvs.cache_clear()

elimina tots els parells clau-valor de la memòria cau.