TIL

Redis 캐싱 전략

DongHo 2025. 2. 25. 17:27

문제 정의

  • 데이터 조회 시 속도가 느려 서비스 성능 저하
  • 반복적으로 동일한 요청이 발생하여 서버 부하 증가
  • 불필요한 DB 트래픽으로 인해 성능 저하 및 운영 비용 상승

 

원인

  • 데이터베이스의 조회 시간이 길어지는 경우
  • 동일한 요청이 빈번하게 발생하지만 캐시를 활용하지 않는 경우
  • 트래픽이 급증하는 순간에도 모든 요청이 DB에 직접 접근하는 구조
  • 캐시 없이 매번 데이터를 연산하여 조회하는 구조

 

해결

목표 설정

  • 불필요한 트래픽을 줄이고, 서버의 부하 감소
  • 빠른 처리성능(조회)을 확보하여 고객에게 더 나은 서비스경험을 제공
  • TTL(Time To Live) 설정
  • 주요 캐싱 대상 선정

 

캐싱 전략을 사용하기 전 주의 사항

"용도에 맞지 않는 정보나 서비스요청에 캐시를 남용하게 되면 서비스 신뢰도에 큰 문제가 생길 수 있는 위험성을 내포한다."

  • TTL(Time To Live) 설정
  • 캐싱한 정보의 갱신시점

 

주로 Cache의 대상이 되는 정보들

  • 정보의 단순성
  • 빈번한 동일요청의 반복
  • 높은 단위처리비용

ex) 포탈의 검색어, 방문자수, 조회수, 추천수, 공지사항, Q&A

 

적용

 

 

 

평가

1. 단위 테스트

 

결론

Redis 캐싱 전략을 효과적으로 활용하면 서버 성능 최적화뿐만 아니라, 운영 비용 절감 및 사용자 경험 향상까지 긍정적인 효과를 얻을 수 있습니다. 다만, 잘못된 캐싱 전략은 데이터 불일치 및 불필요한 캐시 업데이트 비용을 초래할 수 있으므로, 데이터 특성에 맞는 적절한 TTL 설정과 캐싱 정책이 중요합니다.