Multithreaded code is a lot more difficult to reason about once the codebase gets large.
Redis's codebase is a little too readable compared to the complexity of the things it does. This isn't.
Redis's codebase is a little too readable compared to the complexity of the things it does. This isn't.
This is a lock free key value store in a single file - it doesn't have the network protocol, but any threads dealing with the network IO could use it without doing anything differently.
https://github.com/LiveAsynchronousVisualizedArchitecture/si...