Cache-Aside

Định nghĩa

Cache-Aside là chiến lược ứng dụng tự đọc cache trước, nếu miss thì đọc database rồi ghi kết quả vào cache cho lần sau.

Cách hiểu bằng lời của tôi

Cache-aside để cache là lớp tăng tốc bên cạnh source of truth. App chịu trách nhiệm xử lý cache miss, nên pattern này đơn giản và kiểm soát tốt, nhưng logic cache nằm trong application code.

Flow

request
-> read cache
-> hit: return cached value
-> miss: read database
-> write cache
-> return value

Trade-off

  • Ưu: chỉ cache dữ liệu thật sự được truy cập, tiết kiệm memory.
  • Nhược: cache miss có cold-start latency và có nguy cơ Cache Stampede nếu nhiều request miss cùng lúc.

Liên kết