bojack
# BoJack [](https://travis-ci.org/marceloboeira/bojack) [](http://waffle.io/marceloboeira/bojack) [](http://github.com/marceloboeira/bojack/releases) [](https://gitter.im/bo-jack/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
A non-reliable in-memory key-value store.
Installation
Requirements
- The latest version of Crystal (0.18.x).
- LLVM development files.
Steps
- Clone the repo:
git clone https://github.com/marceloboeira/bojack - Switch to repo-directory:
cd bojack - Build:
make install(sudo for linux users)
Showtime
- To start the server, run:
bojack server - To connect a client, in another tab, run:
bojack client
$ bojack client
> set foo bar
bar
> get foo
bar
> ping
pong
By default BoJack runs at 127.0.0.1:5000.
Usage
CLI
Currently the command-line interface supports two commands: server and client.
bojack <server/client> <flags>
Server
|flag|description|| |---|---|---|---| |--hostname|Hostname the server will run|127.0.0.1| |--port|Port the server will run|5000| |--log-level|Level of messages logged|DEBUG = 0, INFO = 1 (default), WARN = 2, ERROR = 3, FATAL = 4|
Client
|flag|description|default| |---|---|---|---| |--hostname|Hostname this client will connect|127.0.0.1| |--port|Port this client will connect|5000|
Commands
List of available commands for BoJack
|command|description|params|example|return|
|---|---|---|---|---|---|
|set| sets a key with the given name and value | key, value | set 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:
Contributing
Found a bug? Have a suggestion? Please open an issue.
Want to contribute? Make sure you follow the guide.