Cache-Aside (Lazy Loading)
가장 많이 사용되는 패턴. 캐시 미스 시 DB에서 읽고 캐시에 저장합니다.
async function getUser(id) {
let user = await redis.get(`user:${id}`);
if (!user) {
user = await db.query("SELECT * FROM users WHERE id = $1", [id]);
await redis.setex(`user:${id}`, 3600, JSON.stringify(user));
}
return user;
}Write-Through
데이터를 쓸 때 캐시와 DB를 동시에 업데이트합니다. 캐시 일관성이 보장되지만 쓰기 지연이 발생합니다.
댓글 0