The map
- Not started
- In progress
- Done
- Builds on
- 01Why it is fastOne thread, the right structure0/3
- 02Using it wellCaches, atomic steps, messages, locks0/4
- 03Keeping it runningDisk, replicas, cluster, memory0/4
- 04Next: system designSame ideas, at service scale
- Cache-asideLibrary ↗Most Redis deployments start as a cache-aside cache. The library topic covers invalidation and consistency in more depth.
- Distributed locksLibrary ↗SET NX PX is the building block; the library topic covers leases, fencing tokens and when a lock service with consensus is the better tool.
- Rate limitingLibrary ↗INCR with EXPIRE, or a sorted set of timestamps, is how many rate limiters are built; the library topic compares the algorithms.
- Consistent hashingLibrary ↗Redis Cluster uses fixed hash slots rather than a hash ring, but the problem it solves (moving few keys when nodes change) is the same.
- Event streamingLibrary ↗Redis Streams give you consumer groups and acknowledgements in memory; Kafka-style logs trade latency for retention and replay at scale.
Written for Redis Open Source 7.x and 8.x (the examples were run on 8.8). On licensing: Redis up to 7.2 was BSD-licensed. From 7.4 (2024) it was dual-licensed under RSALv2 and SSPLv1, which are source-available rather than open source licences, and from Redis 8 (2025) AGPLv3 was added as a third option. In March 2024 contributors forked Redis 7.2.4 as Valkey, under the BSD licence and backed by the Linux Foundation. The core ideas here apply to both; features added to either project since the fork may differ, so check the documentation of the one you run.
Where this path leads
- Fast reads →Serve the same answer cheaply, close to the reader, without serving it wrong.
- SQL and PostgreSQL: what the database really does →What happens between sending a query and getting rows back: the planner and its plans, the indexes it can use, the transactions and row versions that let many writers share a table, and what changes when you add a pooler, replicas and partitions.