Cache giữ dữ liệu hay dùng ở tầng nhanh (RAM, vd Redis) → giảm tải DB, giảm độ trễ đọc, chịu tải cao hơn. Hợp dữ liệu đọc nhiều-ghi ít, tốn công tính, hoặc chấp nhận hơi cũ.
Chiến lược đọc/ghi:
- Cache-aside (lazy loading): app đọc cache trước; miss thì đọc DB rồi ghi vào cache. Phổ biến nhất; cache chỉ chứa dữ liệu thật được dùng.
- Write-through: ghi đồng thời cache + DB → cache luôn mới, ghi chậm hơn.
- Write-behind: ghi cache trước, đẩy DB sau (nhanh, rủi ro mất dữ liệu nếu sập).
Vô hiệu cache (phần khó nhất):
- TTL: cho hết hạn tự động — đơn giản, chấp nhận cũ trong khoảng TTL.
- Xóa/ghi đè khi dữ liệu nguồn đổi.
- Eviction khi đầy (vd LRU).
Lưu ý bẫy: cache stampede (nhiều request cùng miss một lúc) → dùng khóa/single-flight; và stale data khi vô hiệu sai. "Cache invalidation" là một trong hai bài toán khó kinh điển của khoa học máy tính.