A distributed key-value in-memory store system with table concept.
DistKV project is a memory-based distributed key-value storage system. Besides these features, DistKV also supports table concept which looks like tables in relational databases. We use Java to finish this project, which is somewhat different from most databases using C/C++.
Full document is https://distkv.com
- Redis-like data structure
- Table concept based on KV Store
- Highly available
- Easy to use clients
- Strong ecosystem for Web application
Running scripts/install_distkv.sh will install the whole DistKV to your machine.
./scripts/install_distkv.shWhen 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.
[root@localhost ~]# dkv-server[root@localhost ~]# dkv-clidkv-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), 3rdThank 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.