Cache-aside (lazy loading) — application tự quản lý cache: xem cache trước, miss thì đọc DB rồi nạp vào cache.
- Được: chỉ cache thứ thực sự có người đọc, và cache hỏng cũng không chặn đường đọc.
- Mất: lần miss đầu luôn tốn thêm latency, và data có thể cũ nếu ai đó update DB trực tiếp.
Write-through — mỗi lần ghi thì cập nhật cả cache lẫn DB trước khi trả response.
- Được: cache luôn mới, không bao giờ cũ.
- Mất: latency ghi cao hơn, và cache chứa cả data ít ai đọc nên phí bộ nhớ.
Write-back (write-behind) — ghi vào cache rồi trả response ngay, sau đó flush xuống DB bất đồng bộ.
- Được: latency ghi rất thấp, hợp workload ghi nhiều.
- Mất: cache sập trước khi flush là mất data, và cơ chế phức tạp hơn hẳn.
Redis dùng được cho cả ba, nhưng cache-aside phổ biến nhất trong thực tế vì đơn giản và hợp với phần lớn use case.