✅ Checkpoint: Nền tảng cache

By Better Wise

Sign in to view the full content of this lesson. Sign in

Quiz

  1. Cache thực chất giúp gì cho hệ thống?
    • Đảm bảo dữ liệu luôn mới nhất và đúng tuyệt đối
    • Giảm dung lượng lưu trữ của database
    • Tránh phải tính lại dữ liệu bằng cách giữ bản sao ở nơi đọc nhanh hơn
    • Làm cho database và các nguồn dữ liệu chạy nhanh hơn
  2. Ba câu hỏi quyết định một endpoint có nên cache hay không là gì?
    • Tần suất đọc, độ tươi cần thiết của dữ liệu và chi phí tính lại
    • Số lượng server, dung lượng RAM và tốc độ mạng
    • Số lượng user, số lượng bảng và số dòng trong bảng
    • Ngôn ngữ backend, framework và loại database đang dùng
  3. Endpoint nào sau đây là ứng viên rõ ràng nhất để cache?
    • GET /search?q=..., tìm kiếm với từ khóa gần như vô hạn
    • GET /products/123, đọc rất nhiều, ghi vài lần mỗi ngày, query join 3 bảng mất 600ms
    • POST /orders, tạo đơn hàng mới
    • GET /me/wallet, số dư ví của người dùng
  4. Trong cache-aside, thứ tự đúng khi cập nhật dữ liệu là gì?
    • Xóa key trong cache trước, rồi mới ghi database
    • Cập nhật nguồn gốc trước, rồi xóa key trong cache
    • Ghi giá trị mới vào cache trước, rồi ghi database
    • Chỉ cần cập nhật database, không cần đụng tới cache
  5. Vì sao cache-aside xóa key thay vì ghi đè giá trị mới vào cache khi dữ liệu thay đổi?
    • Vì xóa key tránh được việc hai request ghi chen nhau làm cache giữ giá trị cũ
    • Vì lệnh xóa chạy nhanh hơn lệnh ghi
    • Vì cache không hỗ trợ lưu giá trị mới
    • Vì xóa key làm TTL tự động dài ra
  6. Trong luồng đọc của cache-aside, bước đầu tiên là đọc ____ trước khi chạm database.
  7. Nếu cập nhật database mà quên xóa cache, dữ liệu cũ chỉ biến mất khi ____ hết hạn.
  8. Hãy tự vẽ lại luồng đọc và luồng ghi của cache-aside cho endpoint GET /products/123, rồi chỉ ra điều gì xảy ra nếu xóa cache trước khi ghi database.

Sign in to submit answers.