|
1 | 1 | Redix
|
2 | 2 | =======
|
3 |
| -> a fast persistent real-time key-value store, that uses the same [RESP](https://redis.io/topics/protocol) protocol and capable to store terabytes of data, also it integrates with your mobile/web apps to add real-time features, soon you can use it as a document store cause it should become a multi-model db. `Redix` is used in production, you can use it in your apps with no worries. |
4 |
| -
|
| 3 | +> a fast NoSQL DB, that uses the same [RESP](https://redis.io/topics/protocol) protocol and capable to store terabytes of data, also it integrates with your mobile/web apps to add real-time features, soon you can use it as a document store cause it should become a multi-model db. `Redix` is used in production, you can use it in your apps with no worries. |
5 | 4 |
|
6 | 5 | Features
|
7 | 6 | =========
|
8 |
| -- Fast on-disk store |
| 7 | +- Rich data structure: `KV`, `List`, `Hashmap` |
| 8 | +- Advanced Publish/Subscribe using webhook and websocket! |
9 | 9 | - Pluggable Storage Engine (`badger`, `bolt`)
|
10 |
| -- Multi Core via `-workers=<num workers here>` |
11 |
| -- Very easy and simple |
12 |
| -- Very compatible with any `redis-client` |
13 |
| -- Not only basic redis channels subscriptions, but also there is `webhook` and `websocket`, so you can easily integrate it directly to any web/mobile app. |
| 10 | +- Very compatible with any `redis client` including `redis-cli` |
| 11 | +- Standalone with no external dependencies |
| 12 | +- Helpers commands for `Time`, `Encode <hex|md5|sha1|sha256|sha512> <payload>`, `RANDINT`, `RANDSTR` |
| 13 | +- |
14 | 14 |
|
15 | 15 | Why
|
16 | 16 | ===
|
17 | 17 | > I started this software to learn more about data modeling, data structures and how to map any data to pure key value, I don't need to build a redis clone, but I need to build something with my own concepts in my own style. I decided to use RESP (redis protocol) so you can use `Redix` with any redis client out there.
|
18 | 18 |
|
19 |
| -Production |
20 |
| -========== |
21 |
| -> Yep, This software is ready for use in production, and I'm already using it in production as a drop-in-replacement for redis in some softwares in [uFlare](https://uflare.io) for our solutions. |
22 |
| -
|
23 | 19 | Install
|
24 | 20 | =======
|
25 | 21 | - from source: `go get github.com/alash3al/redix`.
|
26 | 22 | - from binaries: go [there](https://github.com/alash3al/redix/releases) and choose your platform based binary, then download and execute from the command line with `-h` flag to see the help text.
|
| 23 | +- using docker: `docker run -P -v /path/to/redix-data:/root/redix-data alash3al/redix` |
27 | 24 |
|
28 | 25 | Configurations
|
29 | 26 | ============
|
@@ -170,6 +167,10 @@ TODO
|
170 | 167 | - [x] List Commands
|
171 | 168 | - [x] PubSub Commands
|
172 | 169 | - [x] Utils Commands
|
| 170 | +- [x] Adding BoltDB engine |
| 171 | +- [ ] Adding RAM engine |
| 172 | +- [ ] Writing MyOwn DB Engine |
| 173 | +- [ ] Writing Test Cases |
173 | 174 | - [ ] Document/JSON Commands
|
174 | 175 | - [ ] GIS Commands
|
175 | 176 |
|
|
0 commit comments