this is a simple implementation of a redis server potential improvements epoll -> libuv (crossplatform) arena,malloc -> jemalloc/mimalloc (avoid copying for useful strings) rehash without freezing the application entirely is pretty leaky resources redis protocol spec concurrent epoll server how to implement a hash table build redis from scratch (go) beej's guide to network programming