Chủ đề: Cache Aside, Read Through, Write Through, Write Back, Cache Invalidation, Distributed Cache.

Luận điểm trung tâm của phần này

Cache tồn tại vì hai sự thật: RAM nhanh hơn disk ~1000 lần (chương 00 §3), và truy cập dữ liệu có locality — một phần nhỏ dữ liệu nhận phần lớn truy cập (luật lũy thừa, 13.2 — hot partition là mặt tối của cùng quy luật). Không có locality, cache vô dụng; có locality, cache là đòn bẩy hiệu năng rẻ nhất trong toàn bộ hộp đồ nghề.

Nhưng cache là bản sao — và mọi bản sao đặt ra câu hỏi consistency (4.2). Toàn bộ nghệ thuật caching gói trong một câu: chịu stale bao lâu, và trả giá invalidation ở đâu. Ba chương của phần này là ba mặt của câu đó:

Bản đồ kiến thức cache trong toàn tài liệu

Phần này là “lý thuyết trung tâm”; các mảnh thực chiến đã nằm ở chỗ của chúng:

MảnhỞ đâu
Đưa cache vào hệ thống đúng lúc, đúng cách12.2 — Thêm Redis
Redis — công cụ cache chủ lực5.4
Ba sự cố cache kinh điển: Stampede, Avalanche, Thundering Herd13.1
Hot key13.2, 7.3
Cache như projection của CQRS12.8

Nguyên tắc bất di bất dịch — nhắc lại một lần cho cả phần

Mọi quyết định ghi đọc từ nguồn sự thật, không đọc cache. Cache phục vụ hiển thị; transaction phục vụ sự thật. Vi phạm nguyên tắc này là nguồn của các bug tiền bạc khó tái hiện nhất (12.2 §3, 12.8 §7).