3 ms·
I can second that. It's been a few years since I actually did this, but within about two working days worth of reading, I had consumed and understood a good chu
by smueller1234 8y ago
I can second that. It's been a few years since I actually did this, but within about two working days worth of reading, I had consumed and understood a good chunk of the code and overall control flow. I was able to make some reasonably invasive changes within a few hours each after that (initially adding "msg/trigger on expire" and check-and-set operations on hashes, then a bit later a change to memory management that was a few percent of global speedup, and a partial COW implementation for strings). Admittedly, I have fair amount of experience working on interpreters in C, which is pretty close to what plain Redis does, just simpler and hidden behind http.
A quick glance suggests that this would still be similarly possible today. Redis is by no means perfect, but it deserves it's reputation for being accessible!
PS: Thanks for the mention of the Lua side effects changes. I'll be curious to read up about your solutions to those puzzles.