Download source code:
https://github.com/challenai/wtfcache
Before we start, we should figure out our final requirements and prepare the environment.
prerequisite #
- editor like goland, vim or vscode.
- git
- go environment
- *nix environment
introduce #
purpose:
- easy to understand, step by step. no one left behind.
- build a runnable and high performance prototype.
- introduce the core concepts for storage application.
- provide runnable code for every step in the tutorial.
features:
- provide key-value read and write ability.
- expose popular HTTP restful API.
- expose redis like TCP interface for users.
- collect some runtime stats and metrics.
- keys expiration and eviction.
- unit and e2e test.
- support persistence, free from data loss.
- introduce transaction and its implementation.
- introduce some critical methods to improve and measure performance.
- introduce some STOA or cutting edge concepts.