</>
⌕
Senior #cache#redis

Caching: các chiến lược và vấn đề cần lưu ý?

⚡ Trả lời nhanh

Cache-aside (app tự đọc/ghi cache), write-through, write-back. Khó nhất là invalidation, kèm các vấn đề cache stampede, penetration và dữ liệu cũ (stale).

// Cache-aside
async function getUser(id) {
  const cached = await redis.get(`user:${id}`);
  if (cached) return JSON.parse(cached);
  const user = await db.users.find(id);
  await redis.set(`user:${id}`, JSON.stringify(user), 'EX', 300); // TTL 5 phút
  return user;
}
🃏 Ôn bằng flashcard