general key-value store on sql/level/mongo/redis for fibjs.
npm install fib-kv [--save]npm run ciconn: database connection or connection factory like fib-pool
opts: kvs options| opts | default | object/Map | LruCache | LevelDB | Redis | MongoDB | SQLite/MySQL |
|---|---|---|---|---|---|---|---|
| table_name | "kvs" | x | x | x | √ | √ | √ |
| key_name | "k" | x | x | x | x | √ | √ |
| value_name | "v" | x | x | x | x | √ | √ |
| key_size | 32 | x | x | x | x | x | √ |
| value_size | 256 | x | x | x | x | x | √ |
| cleanup_interval(ms) | 60000 | x | x | x | x | x | √ |
| timeout(ms) | 0 | x | √ | x | √ | √ | √ |
| prefix | "" | √ | √ | √ | √ | √ | √ |
| cache | false | √ | √ | √ | √ | √ | √ |
| cache_size | 65536 | √ | √ | √ | √ | √ | √ |
| cache_timeout(ms) | 60000 | √ | √ | √ | √ | √ | √ |
| sql_value_type | 60000 | x | x | x | x | x | √ |
NOTICE sql_value_type is one of below:
- TINYBLOB
- BLOB
- MEDIUMBLOB
- LONGBLOB
- TINYTEXT
- TEXT
- MEDIUMTEXT
- LONGTEXT
- VARCHAR
A key will not expire if timeout is less than or equal to 0.
var kv = require("fib-kv");
var kvs = new kv({
"a": 100,
"b": 200
});var kv = require("fib-kv");
var db = require("db");
var kvs = new kv(db.openLevelDB("test.ldb"));var kv = require("fib-kv");
var db = require("db");
var pool = require("fib-pool");
var kvs = new kv(pool(() => db.openLevelDB("test.ldb")));setup the backend database.
returns the value stored for that key.
stores a key-value pair.
returns whether a key is set on the store.
returns all keys in the store.
renews TTL for an unexpired key.
deletes a key-value pair by key.
returns whether a key is set on the cache.
removes all the key-value pairs in the cache.