Hiểu về cache trước khi thêm Redis
Cache ở đâu, hết hạn lúc nào và dữ liệu cũ có thể tồn tại bao lâu? Ba câu hỏi trước một quyết định hạ tầng.
Trong bài viết này · 3 mục
Cache không phải nguồn sự thật#
Hãy xác định dữ liệu chuẩn và khoảng thời gian chấp nhận dữ liệu cũ. Với bài viết, một lần build có thể đủ; với quyền truy cập, dữ liệu cũ có thể nguy hiểm.
Một mô hình đơn giản#
const key = `post:${id}:${publishedVersion}`;
const cached = await cache.get(key);
if (cached) return cached;
const post = await repository.getPublished(id);
await cache.put(key, post, { ttl: 60 });
return post;Invalidation là một phần thiết kế#
Khi unpublish hoặc xóa bài, cần đồng bộ listing, sitemap, search và cache. Đừng chỉ xóa bản ghi trong database.
Bạn nghĩ sao?
Góp một câu hỏi, một cách làm hoặc một điều bạn học được.
Đang mở phần thảo luận…