algemene sleutelwaardeopslag op sql/level/mongo/redis voor fibjs
Installeren
1npm install fib-kv [--save]
Test
1npm run ci
Een sleutelwaardewinkel creëren
var kvs = new kv(conn, opts);
1
2conn: database connection or connection factory like fib-pool
opts: kvs options
kiest | standaard | object/kaart | LruCache | NiveauDB | Opnieuw | MongoDB | SQLite/MySQL |
---|---|---|---|---|---|---|---|
tafel naam | "kvs" | X | X | X | √ | √ | √ |
sleutelnaam | "k" | X | X | X | X | √ | √ |
waarde_naam | "v" | X | X | X | X | √ | √ |
sleutel_grootte | 32 | X | X | X | X | X | √ |
waarde_grootte | 256 | X | X | X | X | X | √ |
opschoningsinterval(ms) | 60000 | X | X | X | X | X | √ |
time-out (ms) | 0 | X | √ | X | √ | √ | √ |
voorvoegsel | "" | √ | √ | √ | √ | √ | √ |
cache | vals | √ | √ | √ | √ | √ | √ |
cache grootte | 65536 | √ | √ | √ | √ | √ | √ |
cache_timeout(ms) | 60000 | √ | √ | √ | √ | √ | √ |
Een sleutel verloopt niet als timeout
deze kleiner is dan of gelijk is aan 0.
Eenvoudig voorbeeld (geheugenbackend).
1
2
3
4
5
6var kv = require("fib-kv");
var kvs = new kv({
"a": 100,
"b": 200
});
LevelDB-backend.
1
2
3
4var kv = require("fib-kv");
var db = require("db");
var kvs = new kv(db.openLevelDB("test.ldb"));
fibpool-backend.
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")));
Methoden
kvs.setup()
stel de backend-database in.
v = kvs.get(k)
retourneert de waarde die voor die sleutel is opgeslagen.
kvs.set(k, v)
slaat een sleutel-waardepaar op.
e = kvs.has(k)
geeft terug of er een sleutel in de winkel is ingesteld.
e = kvs.keys()
geeft alle sleutels terug in de winkel.
e = kvs.renew(k)
vernieuwt TTL voor een niet-verlopen sleutel.
kvs.remove(k)
verwijdert een sleutel-waardepaar per sleutel.
e = kvs.cache_has(k)
geeft terug of er een sleutel in de cache is ingesteld.
kvs.cache_clear()
verwijdert alle sleutel-waardeparen in de cache.