A distributed key-value in-memory store system with table concept.
Full document is here.
Dst
project is a memory-based distributed key-value storage system. Besides these features, dst can support 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++.
- Redis-like data structure
- Table concept based on k-v store
- High available since this is distributed
- Easy to use client
Running the scripts install_dst.sh
will install the whole dst to your machine.
./install_dst.sh
When we connect to server, we must start server first. At present, we only have two kinds of clients. One is command line tool
, another is java client sdk
.
We can use each of them to access dst server.
[root@localhost ~]# dst-server
[root@localhost ~]# dst-cli
dst-cli > str.put "k1" "v1"
dst-cli > ok
dst-cli > str.get "k1"
dst-cli > "v1"
dst-cli > list.put "k1" "v1" "v2" "v3"
dst-cli > ok
dst-cli > list.get "k1"
dst-cli > ["v1", "v2", "v3"]
dst-cli > set.put "k1" "v1" "v2" "v3"
dst-cli > ok
dst-cli > set.get "k1"
dst-cli > {"v1", "v2", "v3"}
dst-cli > dict.put "dict1" "k1" "v1" "k2" "v2"
dst-cli > ok
dst-cli > dict.get "dict1"
dst-cli > { "k1" : "v1", "k2" : "v2"}
dst-cli > str.put "k1" "v1" # the same as `put`
dst-cli > ok
Thank you for your attention to the Dst
project. If you have any questions, you can create a new issue in our Issues list.
And we welcome you to participate in our Dst
project, if you want to make some contributions, you can refer the file CONTRIBUTING.md.