Skip to main content

A distributed key-value in-memory store system with table concept.

Project description

distkv build codebeat badge codecov

A distributed key-value in-memory store system with table concept.

Project Description

Distkv project is a distributed key-value in-memory database system. Besides these features, Distkv supports table concept which looks like tables in relational databases. It also supports a rich ecosystem, named Pine, which has many easy-to-use and out-of-the-box components for Web application and micro-service.

Full document is https://distkv.com

Awesome Features

  1. Redis-like data structure
  2. Table concept based on kv store
  3. Strong consistency
  4. Easy to use clients
  5. Strong ecosystem for Web application and micro-service

Quick Started

1. Install DistKV

Running scripts/install_distkv.sh will install the whole DistKV to your machine.

./scripts/install_distkv.sh

When we connect to the server, we must first start the server. At present, we only have two kinds of clients. One is Command Line Tool, another is Java Client SDK. We can use either of them to access the Distkv server.

2. Start DistKV Server

[root@localhost ~]# dkv-server

3. Start DistKV Cli

[root@localhost ~]# dkv-cli

4. Command Line Tool

dkv-cli > str.put "k1" "v1"
dkv-cli > ok
dkv-cli > str.get "k1" 
dkv-cli > "v1"

dkv-cli > list.put "k1" "v1" "v2" "v3"
dkv-cli > ok
dkv-cli > list.get "k1"
dkv-cli > ["v1", "v2", "v3"]

dkv-cli > set.put "k1" "v1" "v2" "v3"
dkv-cli > ok
dkv-cli > set.get "k1"
dkv-cli > {"v1", "v2", "v3"}

dkv-cli > dict.put "dict1" "k1" "v1" "k2" "v2"
dkv-cli > ok
dkv-cli > dict.get "dict1"
dkv-cli > { "k1" : "v1", "k2" : "v2"}

dkv-cli > slist.put "k1" "m1" 4 "m2" -4 "m3" 0
dkv-cli > ok
dkv-cli > slist.top "k1" 2
dkv-cli > [("m1", 4), ("m3", 0)]
dkv-cli > slist.getMember "k1" "m2"
dkv-cli > ("m2", -4), 3rd

Java Client SDK

Java Client SDK Example

Java Async Client SDK

Java Async Client SDK Example

Getting Involved

Thank you for your attention to the Distkv project. If you have any questions, you can create a new issue in our Issues list. We also welcome you to participate in our Distkv project, if you want to make contributions, you can refer the file CONTRIBUTING.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dkv, version 0.1.3.1
Filename, size File type Python version Upload date Hashes
Filename, size dkv-0.1.3.1-cp37-cp37m-macosx_10_14_x86_64.whl (39.2 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size dkv-0.1.3.1.tar.gz (3.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page