The unreliable key-value store
source link: https://www.tuicool.com/articles/b6VjUbV
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
BoJack
The unreliable key-value store
Status
Originally, from my article " Why you should build your own NoSQL Database ". BoJack is a bit mature now, yet missing several important features:
- Cluster-friendliness
- Security Layer (#34)
- Unix Socket support (#48)
Feel free to share your thoughts and.
Installation
Requirements
- The latest version of Crystal (0.24.x)
- LLVM development files
Steps
git clone https://github.com/marceloboeira/bojack cd bojack make install
Showtime
bojack server bojack client
$ bojack console > set food :sushi: :sushi: > get food :sushi: > ping pong
By default BoJack runs at 127.0.0.1:5000.
Usage
CLI
Currently the command-line interface supports two commands: server
and console
.
bojack <server/console> <flags>
Server
flag description --hostname Hostname the server will run 127.0.0.1 --port Port the server will run 5000 --log Path for a log file STDOUT --log-level Level of messages logged DEBUG = 0, INFO = 1 (default), WARN = 2, ERROR = 3, FATAL = 4Console
flag description default --hostname Hostname this console will connect 127.0.0.1 --port Port this console will connect 5000Commands
List of available commands for BoJack
command description params example return set sets a key with the given name and value key, valueset foo bar
the value of the key "bar"
increment
increments the given key value by 1
key
increment foo
the value of the key "foo" incremented
get
gets the value of the given value
key
get foo
the value stored at the key, "bar"
delete
deletes the given key
key, *
delete foo, delete *
the value at the deleted key "bar" or every key in the database, if "*" is given instead of a key
append
add one or more values to the end of a list
key, value
append list foo,bar
the list resulted
pop
retrieve the last item of the list
key
pop foo
the last value stored at the list, "foo"
size
return the number of stored items
--
size
the value of stored keys in memory
ping
checks the server
--
ping
pong if everything is correct
Clients
Want to use BoJack with your language? Currently, we support:
- Crystal - Thanks to @hugoabonizio
- Python - Thanks to @mauricioabreu
- Ruby - Thanks to @hugoabonizio
- Elixir - Thanks to @veelenga
Contributing
Found a bug? Have a suggestion? Please open an issue .
Want to contribute? Take a look at our open issues and make sure you follow our guide .
License
Check the License here .
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK