A progressive series of hands-on workshops that teach caching patterns using Valkey, an open source in-memory datastore. Each workshop builds on the previous one, introducing new concepts and increasing complexity.
| Level | Title | What you'll learn |
|---|---|---|
| 100 | Introduction to Caching | Cache-aside pattern, TTL expiration, manual invalidation |
| 200 | Database-Backed Caching | Caching real database queries, write-through invalidation |
| 300 | Protecting the Caching Layer | Cache warming, stampede prevention, circuit breaker, observability |
| 400 | Production Operations | Valkey Cluster, eviction policies, observability |
To complete these workshops, you need:
- Python 3.9 or later (other languages coming soon)
- Docker running on your machine
- A text editor
- A terminal
No prior experience with Valkey or caching is required. We start from scratch in the 100-level workshop.
Each workshop lives in its own directory (e.g., 100-caching-intro/). Inside, you'll find:
- A
README.mdwith the full walkthrough (concepts, architecture, step-by-step implementation) - A
docker-compose.ymlfor the infrastructure (Valkey, and PostgreSQL for 200+) - An
FAQ.mdcovering design decisions and deeper explanations - A
TROUBLESHOOTING.mdfor common issues - Language-specific subdirectories (e.g.,
python/) containing the starter code
Starter code ships with TODO placeholders. Each workshop README tells you what to paste in at each step. Completed reference files live in a safety/ subdirectory if you get stuck.
Start with the 100-level workshop. Clone this repository, navigate to that directory, and follow the README.
We welcome contributions, particularly new language implementations. See CONTRIBUTING.md for guidelines.
See FUTURE.md for planned workshops and their scope.