Cache Invalidation

Định nghĩa

Cache Invalidation là cơ chế xóa hoặc cập nhật cached value khi dữ liệu gốc thay đổi hoặc khi cached value quá cũ.

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

Cache giúp nhanh hơn bằng cách chấp nhận nhiều bản copy của dữ liệu. Invalidation là phần trả nợ: hệ thống phải quyết định lúc nào bản copy không còn đáng tin và phải được xóa, refresh hoặc thay bằng bản mới.

Cơ chế

  • TTL: tự hết hạn sau một khoảng thời gian.
  • Event-based invalidation: update database phát event để cache xóa/cập nhật key liên quan.
  • Manual invalidation: ứng dụng chủ động xóa cache trong write path.
  • Leasing: giới hạn một updater cho cache entry để tránh xung đột write.

Trade-off

  • TTL ngắn giảm stale data nhưng tăng cache miss.
  • TTL dài tăng hit rate nhưng có thể phục vụ dữ liệu cũ.
  • Event-based chính xác hơn nhưng làm architecture phức tạp hơn.

Liên kết