캐싱 대상 선정과 TTL 차등으로 DB 병목 해소 결
백엔드 프로젝트에서 조회 요청이 많아지면서 DB 부하가 병목이 되는 상황을 처음 경험하였습니다. 처음에는 쿼리 최적화로 버텼지만 한계에 도달하였습니다. 그래서 Redis를 도입하여 자주 조회되는 데이터를 캐싱하는 방식을 사용하였습니다. 어떤 데이터를 캐싱할지를 먼저 정하였습니다.
변경이 드물고 조회가 많은 데이터부터 캐시 레이어로 올렸고, TTL을 데이터 특성에 따라 다르게 설정하였습니다. 캐시를 도입한 후 응답 속도가 눈에 띄게 빨라졌습니다. 무엇을 캐싱할지가 성능 개선의 핵심이라는 것을 그때 배웠습니다. 무엇을 캐싱할지가 성능 개선의 핵심입니다. 그 감각을 실무에서 더 정교하게 익히고 싶습니다.