marceloboeira / Bojack
Licence: mit
🐴 The unreliable key-value store
Stars: ✭ 101
Projects that are alternatives of or similar to Bojack
Cash
HTTP response caching for Koa. Supports Redis, in-memory store, and more!
Stars: ✭ 122 (+20.79%)
Mutual labels: redis, cache, storage, store
Kache
A simple in memory cache written using go
Stars: ✭ 349 (+245.54%)
Mutual labels: database, redis, cache, nosql
Koa Redis
Redis storage for Koa session middleware/cache with Sentinel and Cluster support
Stars: ✭ 324 (+220.79%)
Mutual labels: redis, cache, storage
Dynomite
A generic dynamo implementation for different k-v storage engines
Stars: ✭ 3,830 (+3692.08%)
Mutual labels: redis, cache, nosql
Laravel Eloquent Query Cache
Adding cache on your Laravel Eloquent queries' results is now a breeze.
Stars: ✭ 529 (+423.76%)
Mutual labels: database, redis, cache
Redisson
Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...
Stars: ✭ 17,972 (+17694.06%)
Mutual labels: redis, cache, distributed
Bitnami Docker Redis
Bitnami Redis Docker Image
Stars: ✭ 317 (+213.86%)
Mutual labels: database, redis, nosql
Sleekdb
Pure PHP NoSQL database with no dependency. Flat file, JSON based document database.
Stars: ✭ 450 (+345.54%)
Mutual labels: database, storage, nosql
Olric
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.
Stars: ✭ 2,067 (+1946.53%)
Mutual labels: database, cache, distributed
Redix
a persistent real-time key-value store, with the same redis protocol with powerful features
Stars: ✭ 907 (+798.02%)
Mutual labels: database, redis, nosql
Redis Marshal
Lightweight Redis data exploration tool
Stars: ✭ 16 (-84.16%)
Mutual labels: database, redis, nosql
Titan
A Distributed Redis Protocol Compatible NoSQL Database
Stars: ✭ 1,050 (+939.6%)
Mutual labels: redis, nosql, distributed
elara
Elara DB is an easy to use, lightweight key-value database that can also be used as a fast in-memory cache. Manipulate data structures in-memory, encrypt database files and export data. 🎯
Stars: ✭ 93 (-7.92%)
Mutual labels: nosql, storage, cache
Endb
Key-value storage for multiple databases. Supports MongoDB, MySQL, Postgres, Redis, and SQLite.
Stars: ✭ 208 (+105.94%)
Mutual labels: database, redis, cache
Lada Cache
A Redis based, fully automated and scalable database cache layer for Laravel
Stars: ✭ 424 (+319.8%)
Mutual labels: database, redis, cache
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+1251.49%)
Mutual labels: redis, storage, distributed
Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+1590.1%)
Mutual labels: database, redis, nosql
Java Knowledge Mind Map
【🌱🌱Java服务端知识技能图谱】用思维脑图梳理汇总Java服务端知识技能
Stars: ✭ 787 (+679.21%)
Mutual labels: database, redis, cache
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 contribute.
Installation
Requirements
- The latest version of Crystal (0.24.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
- Start the server, run:
bojack server
- Connect a client, in another tab, run:
bojack client
$ bojack console
> set food 🍣
🍣
> get food
🍣
> 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 = 4 |
Console
flag | description | default |
---|---|---|
--hostname | Hostname this console will connect | 127.0.0.1 |
--port | Port this console 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:
- 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.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].