This will be the most awful cache you can ever use but it's a good tool to practice C++.
What I intend to do:
- Key-value TCP server, stored only in primitive shape
- Namespace division, optional
- Basic CLI (will probably become a detached program like redis-cli)
- High-availability out of the box with automatic failover and failover commands like what Patroni has
- Persistence layer, FLUSH commands, will try to come up with a creative storage pattern
- Export/Import functionality
- Seed from running instance
- Configurable parallelism - thread pool for the TCP server
- Prometheus monitoring format for custom frontends
- Small HTML monitoring page, should use SSL, should do server-side rendering, should handle possible actions