magatzem general de valors-clau a sql/level/mongo/redis per a fibjs
Instal·lar
1npm install fib-kv [--save]
Prova
1npm run ci
Creació d'una botiga de valor-clau
var kvs = new kv(conn, opts);
1
2conn: 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
6var kv = require("fib-kv");
var kvs = new kv({
"a": 100,
"b": 200
});
Backend de LevelDB.
1
2
3
4var kv = require("fib-kv");
var db = require("db");
var kvs = new kv(db.openLevelDB("test.ldb"));
backend de fib-pool.
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è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.