Resources
Every link the series leans on, grouped by the part that uses it.
Part 0, Setup
- Adoptium Temurin, JDK builds for every platform
- SDKMAN, the least painful way to run several JDKs
- Maven downloads
- Maven in 5 minutes
- IntelliJ IDEA Community
- VS Code Extension Pack for Java
- WSL install guide, Windows readers
- Redis downloads, for
redis-cli
Part 1, TCP and sockets
ServerSocketJavadocSocketJavadoc- Oracle: All About Sockets, the official Java networking trail
- Beej’s Guide to Network Programming, C, but the best plain-English explanation of what sockets are
- RFC 9293, TCP, the specification itself
- Computerphile: How the Internet Works / TCP, video, good background
- Baeldung: A Guide to Java Sockets, worked examples
Part 2, Framing and concurrency
- JEP 444: Virtual Threads, the proposal, readable and worth it
- Oracle: Virtual Threads guide
ThreadJavadoc- Nagle’s algorithm, why your two writes arrived as one packet
Part 3, RESP
- Redis serialization protocol specification, the primary source, read it once end to end
- RESP2 in redis-specifications
StandardCharsetsJavadoc
Part 5, Storage and time
ConcurrentHashMapJavadoc, read the class-level notes on atomicity- Redis key expiry docs
System.nanoTimeJavadoc, states plainly that it is monotonic and has no relation to wall time
Part 6, Atomicity
Part 7, Blocking and transactions
- Redis transactions, explains why there is no rollback, from the source
- Redis BLPOP
Object.waitJavadoc, the spurious-wakeup paragraph is the one that matters
Part 8, Pub/sub and streams
Part 9, More types
- Redis sorted sets
- Redis SCAN, the guarantees section explains why a key can appear twice
- Skip lists (Pugh, 1990), what real Redis uses instead of a TreeMap
Part 10, Persistence
- Redis persistence
- RDB file format, annotated, the community reference everyone uses
- LZF compression, what we refuse to decode
Part 11, Replication
Comparable series, worth reading alongside
- Build Your Own Redis with C/C++, same project in a different language, especially good on data structures
- Coding Challenges: Build Your Own Redis
- CodeCrafters Redis track, test-driven, if you want a harness grading you
- Build Your Own X, the wider genre