🌿 중급 DB
캐싱(Caching)은 어떻게 작동하나요?
쉽게 이해하기
책상 위에 자주 보는 책을 펼쳐두는 것과 비슷해요. 매번 책장에 가서 찾는 것보다 책상에 놓여있는 책을 보는 게 훨씬 빠르죠. 캐싱도 자주 조회되는 데이터를 메모리에 저장해뒀다가 빠르게 제공하는 방식입니다.
핵심 정리
자주 쓰는 데이터를 빠른 저장소에 임시로 보관해서 성능을 높이는 기술입니다.
자세히 알아보기
캐싱은 데이터베이스 조회 성능을 획기적으로 개선하는 핵심 기술입니다. 데이터베이스는 디스크에 저장되어 있어서 조회 속도가 느린 편인데, 자주 사용되는 데이터를 메모리(RAM)에 복사해두면 수백 배 빠르게 접근할 수 있습니다.
가장 흔한 사용 예시는 게시판입니다. 인기 게시글은 수천 명이 동시에 조회하는데, 매번 데이터베이스에서 가져오면 서버 부하가 엄청나게 증가합니다. 대신 첫 번째 조회 시 결과를 캐시에 저장해두고, 이후 요청은 캐시에서 바로 응답하면 데이터베이스 부담이 크게 줄어듭니다.
캐시의 중요한 개념은 '유효기간(TTL)'입니다. 데이터가 변경될 수 있으므로 캐시를 영구적으로 보관하면 안 됩니다. 예를 들어 상품 가격 정보를 5분간 캐싱하면, 가격이 변경되어도 최대 5분 후에는 새로운 정보가 반영됩니다. Redis나 Memcached 같은 전문 캐싱 시스템을 많이 사용합니다.
캐싱 전략도 다양합니다. 'Cache-Aside'는 필요할 때만 캐시에 저장하는 방식이고, 'Write-Through'는 데이터를 쓸 때 캐시와 DB에 동시에 저장하는 방식입니다. 서비스 특성에 따라 적절한 전략을 선택해야 합니다.