A key value pair database built using go and RESP protocol.
- Persistence using AOF(Append only file).
- Accept concurrent TCP connections using go routines.
- PING
- GET
- SET
- HGET
- HSET
- HGETALL
- TTL
- PEXPIREAT
Using docker
$ docker-compose upUsing go compiler
$ go run ./main.goThis will start the application on port 6380 and it can be connected using standard redis-cli redis client
Following benchmarks are generated using the benchmark.py script.
| Command | Time Taken | Throughput | Total OPs | Concurrent Clients |
|---|---|---|---|---|
| SET | 13.67 seconds | 7315.33 ops/sec | 100000 | 50 |
| GET | 10.24 seconds | 9762.50 ops/sec | 100000 | 50 |
| HSET | 12.39 seconds | 8073.67 ops/sec | 100000 | 50 |
| HGET | 13.82 seconds | 7234.92 ops/sec | 100000 | 50 |
pip install -r requirements.txtpython benchmark.py