Memory Cache (bộ nhớ đệm trong RAM) là một cơ chế lưu trữ dữ liệu tạm thời trong bộ nhớ để tăng tốc truy xuất dữ liệu và giảm tải cho nguồn dữ liệu gốc (ví dụ: cơ sở dữ liệu, API bên ngoài).
Khi ứng dụng cần truy xuất một dữ liệu, nó kiểm tra xem dữ liệu có trong cache hay không.
Dữ liệu trong cache có thể có thời gian sống (TTL - Time To Live), sau một khoảng thời gian sẽ bị xóa để tránh chiếm quá nhiều bộ nhớ.
✅ Tăng tốc độ xử lý: Giảm độ trễ khi truy vấn dữ liệu.
✅ Giảm tải hệ thống: Giảm số lần truy vấn vào database hoặc API.
✅ Cải thiện trải nghiệm người dùng: Ứng dụng phản hồi nhanh hơn.
❌ Chiếm RAM: Dữ liệu cache quá nhiều có thể làm tiêu hao bộ nhớ RAM.
❌ Dữ liệu không đồng bộ: Nếu dữ liệu gốc thay đổi, cache có thể không cập nhật ngay (phải có cơ chế invalidation).
❌ Không phù hợp cho dữ liệu lớn: Nếu cần lưu trữ dữ liệu lớn hoặc lâu dài, nên sử dụng các hệ thống cache khác như Redis.
✔ Khi cần lưu dữ liệu tạm thời để truy xuất nhanh (VD: danh sách sản phẩm, cấu hình hệ thống, token xác thực).
✔ Khi dữ liệu ít thay đổi và có thể chấp nhận một độ trễ nhỏ trong việc cập nhật.
✔ Khi cần giảm tải truy vấn vào database hoặc API bên ngoài.
Nếu cần cache dữ liệu lớn hoặc cần chia sẻ giữa nhiều server, có thể dùng Redis hoặc Distributed Cache thay vì Memory Cache.