Git Product home page Git Product logo

fib-kv's Introduction

general key-value store on sql/level/mongo/redis for fibjs

Install

npm install fib-kv [--save]

Test

npm run ci

Creating a key-value store

var kvs = new kv(conn, opts);

conn: 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

A key will not expire if timeout is less than or equal to 0.

Simple example (memory backend).

var kv = require("fib-kv");

var kvs = new kv({
    "a": 100,
    "b": 200
});

LevelDB backend.

var kv = require("fib-kv");
var db = require("db");

var kvs = new kv(db.openLevelDB("test.ldb"));

fib-pool backend.

var kv = require("fib-kv");
var db = require("db");
var pool = require("fib-pool");

var kvs = new kv(pool(() => db.openLevelDB("test.ldb")));

Methods

kvs.setup()

setup the backend database.

v = kvs.get(k)

returns the value stored for that key.

kvs.set(k, v)

stores a key-value pair.

e = kvs.has(k)

returns whether a key is set on the store.

e = kvs.keys()

returns all keys in the store.

e = kvs.renew(k)

renews TTL for an unexpired key.

kvs.remove(k)

deletes a key-value pair by key.

e = kvs.cache_has(k)

returns whether a key is set on the cache.

kvs.cache_clear()

removes all the key-value pairs in the cache.

fib-kv's People

Contributors

xicilion avatar

Watchers

Guo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.