almacén general de valores-clave en sql/level/mongo/redis para fibjs
Instalar
1npm install fib-kv [--save]
Prueba
1npm run ci
Crear una tienda de valores clave
var kvs = new kv(conn, opts);
1
2conn: database connection or connection factory like fib-pool
opts: kvs options
opta | por defecto | objeto/Mapa | LruCache | NivelDB | Redis | MongoDB | SQLite/MySQL |
---|---|---|---|---|---|---|---|
nombre de la tabla | "kvs" | X | X | X | √ | √ | √ |
Nombre clave | "k" | X | X | X | X | √ | √ |
nombre_valor | "v" | X | X | X | X | √ | √ |
tamaño_clave | 32 | X | X | X | X | X | √ |
tamaño del valor | 256 | X | X | X | X | X | √ |
intervalo_limpieza(ms) | 60000 | X | X | X | X | X | √ |
tiempo de espera (ms) | 0 | X | √ | X | √ | √ | √ |
prefijo | "" | √ | √ | √ | √ | √ | √ |
cache | FALSO | √ | √ | √ | √ | √ | √ |
tamaño del caché | 65536 | √ | √ | √ | √ | √ | √ |
tiempo de espera de caché (ms) | 60000 | √ | √ | √ | √ | √ | √ |
Una clave no caducará si timeout
es menor o igual a 0.
Ejemplo simple (backend de memoria).
1
2
3
4
5
6var kv = require("fib-kv");
var kvs = new kv({
"a": 100,
"b": 200
});
Servidor de LevelDB.
1
2
3
4var kv = require("fib-kv");
var db = require("db");
var kvs = new kv(db.openLevelDB("test.ldb"));
backend del grupo de fib.
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étodos
kvs.setup()
configurar la base de datos backend.
v = kvs.get(k)
devuelve el valor almacenado para esa clave.
kvs.set(k, v)
almacena un par clave-valor.
e = kvs.has(k)
devuelve si una clave está configurada en la tienda.
e = kvs.keys()
devuelve todas las llaves de la tienda.
e = kvs.renew(k)
renueva el TTL de una clave no vencida.
kvs.remove(k)
elimina un par clave-valor por clave.
e = kvs.cache_has(k)
devuelve si una clave está configurada en el caché.
kvs.cache_clear()
elimina todos los pares clave-valor en el caché.