I'm not really sure what it costs these days - i know certain projects not entirely free like they were a few years ago, but there's a pretty good "build your own redis" among other things.
It has little step-by-step tasks with automated tests. There are some other good ones like git and docker. It's pretty cool.
It's easy to write a KV store, even a KV store with key expiration. But Redis is quite a bit more than that. Consider sharding and replication at least. Then lists, sets, zsets, bitfields, streams, geospatial indexes, hyperloglog / bloom filters, time series.
Something like LevelDB is relatively easy to write. Then you can build the rest of Redis on top of it.
> Then lists, sets, zsets, bitfields, streams, geospatial indexes, hyperloglog / bloom filters, time series.
I mean, I have my own C libraries for most of these!
In Redis those operations are performed server-side, on a shared dataset, and concurrently by many clients.
Sounds pretty interesting.