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.