archivio generale di valori-chiave su sql/level/mongo/redis per fibjs
Installare
1npm install fib-kv [--save]
Test
1npm run ci
Creazione di un negozio di valori-chiave
var kvs = new kv(conn, opts);
1
2conn: database connection or connection factory like fib-pool
opts: kvs options
opta | predefinito | oggetto/mappa | LruCache | LivelloDB | Redis | MongoDB | SQLite/MySQL |
---|---|---|---|---|---|---|---|
nome_tabella | "kvs" | X | X | X | √ | √ | √ |
nome_chiave | "K" | X | X | X | X | √ | √ |
nome_valore | "v" | X | X | X | X | √ | √ |
dimensione_chiave | 32 | X | X | X | X | X | √ |
valore_dimensione | 256 | X | X | X | X | X | √ |
intervallo_pulizia(ms) | 60000 | X | X | X | X | X | √ |
timeout (ms) | 0 | X | √ | X | √ | √ | √ |
prefisso | "" | √ | √ | √ | √ | √ | √ |
cache | falso | √ | √ | √ | √ | √ | √ |
dimensione della cache | 65536 | √ | √ | √ | √ | √ | √ |
cache_timeout(ms) | 60000 | √ | √ | √ | √ | √ | √ |
Una chiave non scadrà se timeout
è inferiore o uguale a 0.
Esempio semplice (backend di memoria).
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 del pool di frode.
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")));
Metodi
kvs.setup()
impostare il database di back-end.
v = kvs.get(k)
restituisce il valore memorizzato per quella chiave.
kvs.set(k, v)
memorizza una coppia chiave-valore.
e = kvs.has(k)
restituisce se una chiave è impostata nello store.
e = kvs.keys()
restituisce tutte le chiavi del negozio.
e = kvs.renew(k)
rinnova il TTL per una chiave non scaduta.
kvs.remove(k)
elimina una coppia chiave-valore per chiave.
e = kvs.cache_has(k)
restituisce se una chiave è impostata sulla cache.
kvs.cache_clear()
rimuove tutte le coppie chiave-valore nella cache.