피드로 돌아가기
How We Cut API Response Time from 2.3s to 180ms Using Redis + Smart Caching
Dev.toDev.to
Backend

Redis 기반 Smart Caching으로 p95 Latency 2.3s에서 180ms로 단축

How We Cut API Response Time from 2.3s to 180ms Using Redis + Smart Caching

Nitin Srivastava2026년 4월 23일12intermediate

Context

Postgres의 복잡한 Join 및 Legacy PHP 서비스 호출로 인한 pricing quote API의 심각한 성능 저하 발생. p95 기준 2.3초의 응답 속도로 인해 사용자 경험 저하 및 시스템 병목 지점 형성.

Technical Solution

  • Request Coalescing 기법을 통한 Cache Stampede 현상 방지 및 DB 부하 제어
  • Redis 분산 락(Distributed Lock)을 활용하여 동일 키에 대한 중복 계산을 단일 요청으로 제한
  • 입력 파라미터 전처리 및 정규화를 통한 Cache Key 설계 최적화로 데이터 중복 저장 방지
  • 데이터 특성에 따른 Layered Caching 전략을 도입하여 재사용률 낮은 데이터는 In-process LRU Cache로 분리
  • 쓰기-읽기 지연 시간이 500ms 미만이어야 하는 엔드포인트는 Cache-aside 패턴을 배제하여 데이터 정합성 확보

Impact

  • p95 Latency 2.3s에서 180ms로 92% 이상 개선
  • 동일 하드웨어 및 트래픽 환경에서 처리 효율 극대화

Key Takeaway

캐싱의 성패는 라이브러리 선택이 아닌, 정교한 Cache Key 설계와 Cache Stampede 같은 런타임 예외 상황에 대한 구조적 대응책 마련에 있음.


- 캐시 만료 시점에 트래픽이 몰리는 Cache Stampede 가능성 검토 - 응답에 영향을 주는 모든 변수를 포함한 결정론적 Cache Key 생성 로직 검증 - 데이터 재사용률(Hit Rate)을 분석하여 Redis와 Local Cache의 적절한 배치 결정 - 데이터 정합성이 최우선인 Write-heavy 경로에서 캐시 배제 여부 판단

원문 읽기