피드로 돌아가기
Dev.toFrontend
원문 읽기
최저 revalidate 값 기반의 Full Route Cache 최적화 전략
Time based revalidation in Next
AI 요약
Context
정적 렌더링 환경에서 데이터 캐시와 전체 경로 캐시 간의 동기화 불일치 발생 가능성 존재. 서버 에이전트나 CRON 작업 없이 요청 시점에만 캐시를 갱신하는 Stale-While-Revalidate 메커니즘의 효율적 운용 필요.
Technical Solution
- Request Time Trigger 방식을 통한 불필요한 백그라운드 스캔 비용 제거
- Data Cache와 Full Route Cache의 이중 계층 캐싱 구조 설계
- Route 내 포함된 여러 fetch의 revalidate 설정값 중 최솟값을 Full Route Cache의 만료 시간으로 결정하는 계층적 동기화 로직 적용
- Stale 데이터 발견 시 백그라운드에서 정적 렌더링을 재수행하여 최신 HTML 및 RSC를 생성하는 ISR 프로세스 구현
- Dynamic Route의 경우 Full Route Cache를 배제하고 매 요청마다 렌더링하는 분기 처리로 데이터 최신성 보장
실천 포인트
- revalidate: false 대신 force-cache를 사용하여 의도를 명확히 정의 - revalidate: 0 대신 no-store를 사용하여 캐시 배제 및 동적 렌더링 강제 - 복잡한 Route 내 fetch 설정 시 최저 revalidate 값이 전체 페이지 성능 및 갱신 빈도에 미치는 영향 검토