Day 90 · 4/5
🌳 고급 백엔드

Redis 캐싱 전략은?

쉽게 이해하기

마트에서 장을 볼 때마다 지하 창고까지 가는 건 비효율적이죠. 자주 찾는 물건은 계산대 근처 선반에 두면 빨리 가져올 수 있어요. Redis는 이런 '자주 쓰는 데이터 선반' 역할을 해요. 데이터베이스까지 가지 않고 메모리에서 바로 가져오니까 속도가 100배 빨라지는 거죠.

핵심 정리

Redis 캐싱 전략은 데이터를 메모리에 저장해서 DB 부하를 줄이는 방법이에요.

자세히 알아보기

Redis 캐싱 전략은 크게 네 가지가 있어요. 첫째, 'Cache-Aside' 패턴이에요. 데이터를 읽을 때 먼저 캐시를 확인하고, 없으면 DB에서 가져와서 캐시에 저장해요. 가장 일반적이고 안전한 방식이지만, 초기 요청은 느려요. 둘째, 'Write-Through' 패턴이에요. 데이터를 쓸 때 캐시와 DB에 동시에 저장해요. 데이터 일관성이 보장되지만, 쓰기가 느려지고 안 쓰는 데이터도 캐시에 쌓여요. 금융 시스템처럼 데이터 정확성이 중요한 곳에 써요. 셋째, 'Write-Behind' 패턴이에요. 캐시에만 먼저 쓰고, 나중에 비동기로 DB에 저장해요. 쓰기 속도가 엄청 빠르지만, 서버가 죽으면 데이터가 날아갈 위험이 있어요. 게임의 실시간 랭킹 같은 곳에 적합해요. 넷째, 'Refresh-Ahead' 패턴이에요. 캐시 만료 전에 미리 데이터를 갱신해요. 사용자는 항상 최신 데이터를 빠르게 받지만, 예측이 틀리면 불필요한 DB 조회가 발생해요. 실무에서는 Cache-Aside를 기본으로 쓰고, 케이스별로 다른 전략을 섞어요. 중요한 건 '캐시 무효화(Invalidation)' 전략이에요. TTL(만료 시간)을 설정하거나, 데이터가 변경되면 캐시를 삭제하는 방식으로 오래된 데이터 문제를 해결해요. 또한 캐시 키 설계도 중요해요. 'user:123:profile'처럼 계층적으로 만들면 관련 캐시를 한 번에 지울 수 있어요.