Performance & Caching
Caching strategies, Redis, CDN, eviction policies, and multi-level cache architectures for production systems.
Courses
From fundamentals to production — caching strategies, eviction policies, invalidation, Redis, CDN caching, and multi-level architectures. Practical patterns and a guided final project you build in your own stack (no bundled starter repo).
Learn how to design scalable, reliable, and maintainable systems — from single servers to distributed architectures used by millions of users.
Articles
As database tables grow to tens of millions of rows, un-optimized PostgreSQL queries cause sudden CPU spikes, connection pool exhaustion, an…
As web applications scale to hundreds of thousands of active users, querying relational databases for every page view creates severe I/O bot…
A dashboard can look “fast” while users still wait, and a load test can report huge requests-per-second while p99 checkout times explode. La…
Many teams still introduce NGINX as “just a web server.” In production it usually sits in front of your app: clients hit NGINX first; your N…
Checkout slows while product pages remain healthy. CPU is moderate, but the orders table shows rising lock waits and writes queue behind one…
A product page feels instant on the second visit because some layer reused work from the first. The useful beginner question is not “should …
A Redis GET can be constant-time and still miss its latency target when a large Lua script is ahead of it, the client opens a new TLS connec…
A selective lookup that once scanned most of a large table can become an index walk plus a few heap fetches — often the difference between a…
At 3am you need three answers: what happened, how bad is it, and where time went. Logs record discrete events. Metrics aggregate rate, error…
A product page is easy to cache until a price changes: the CDN still has the old response, one app instance has an older in-process value, a…
This guide is for engineers who know basic SQL and key-value access but need to justify a production database choice. By the end, you can ev…
A load balancer spreads connections so one machine does not take all the pain. Layer 4 routes on IP and port — fast and protocol-agnostic. L…
A product page's cache key expires at 2:00:00pm. In the same instant, 5,000 concurrent requests check the cache, all get a miss, and all 5,0…
A product manager says PAY-204: next Friday's campaign may double checkout traffic for three hours. The beginner mistake is asking, "How man…
A Redis SET key value NX EX 5 lock stops a cache stampede in theory, but two implementation details separate a lock that actually works unde…
"Optimize LCP" is not one task, because Largest Contentful Paint is not one number you move with one fix — it's the sum of four distinct pha…
Want a guided sequence? Follow a learning path that includes this topic.
View Learning Paths