🌱 기초 네트워크
캐시(Cache)가 뭔가요?
쉽게 이해하기
책상 서랍을 생각해보세요. 자주 쓰는 필기구나 메모지는 책상 서랍에 넣어두고, 가끔 쓰는 물건은 창고에 보관하잖아요. 매번 창고까지 가는 대신 서랍에서 바로 꺼내 쓰면 훨씬 빠르죠. 캐시도 똑같아요. 자주 쓰는 데이터를 가까운 곳에 임시로 복사해둬서, 매번 멀리 있는 서버까지 가지 않고도 빠르게 가져올 수 있게 하는 거예요.
핵심 정리
자주 쓰는 데이터를 빠르게 꺼낼 수 있도록 임시로 저장해두는 저장소예요.
자세히 알아보기
캐시는 데이터를 임시로 저장해서 접근 속도를 높이는 기술이에요. 컴퓨터와 인터넷 곳곳에서 캐시가 사용되는데, 원본 데이터를 가져오는 것보다 캐시에서 가져오는 게 훨씬 빠르기 때문이에요.
브라우저 캐시가 대표적인 예예요. 웹사이트를 처음 방문하면 이미지, CSS, JavaScript 파일 등을 서버에서 내려받아요. 이때 브라우저는 이 파일들을 컴퓨터에 저장해둬요. 같은 사이트를 다시 방문하면 서버에서 다시 받지 않고 컴퓨터에 저장된 파일을 사용하죠. 그래서 두 번째 방문부터는 페이지가 훨씬 빨리 열려요. 뉴스 사이트의 로고 같은 건 거의 바뀌지 않으니까, 캐시를 활용하면 매번 다운로드할 필요가 없어요.
서버 쪽에서도 캐시를 많이 써요. 데이터베이스 쿼리 결과를 Redis 같은 메모리 캐시에 저장해두면, 같은 요청이 왔을 때 데이터베이스를 다시 조회하지 않고 캐시에서 바로 응답할 수 있어요. 예를 들어 인기 상품 목록은 자주 조회되는데, 매번 데이터베이스를 뒤지는 대신 10분간 캐시에 저장해두고 쓰면 서버 부담이 크게 줄어들죠.
다만 캐시에는 주의할 점도 있어요. 원본 데이터가 바뀌었는데 캐시가 옛날 데이터를 보여주면 문제가 생겨요. 그래서 개발자들은 캐시에 '유효 기간'을 설정하거나, 데이터가 변경되면 캐시를 지우는 방식을 사용해요. 또한 캐시 용량도 제한적이라 중요한 데이터만 선별해서 캐시해야 해요. 적절한 캐싱 전략은 웹사이트 성능을 크게 향상시키는 핵심 기술이랍니다.