Server Fetch

서버 컴포넌트 fetch 캐시

fetch API, cache 옵션, next.revalidate, 동적 params, React.cache의 역할을 데이터 중복과 최신성 기준으로 정리합니다.

fetch

서버에서 데이터 준비

서버 컴포넌트가 렌더링 전에 데이터를 읽어 props 전달 없이 HTML을 구성합니다.

Cache

재사용 기준

목록, 설정, CMS처럼 사용자별 차이가 작을 때 재사용 범위를 넓힙니다.

Revalidate

신선도 기준

재고나 가격처럼 완전 실시간은 아니어도 오래 두면 안 되는 값에 갱신 간격을 둡니다.

데이터 신선도 기준

데이터가 언제 바뀌는지 먼저 물어본다

캐시 옵션은 성능 문법이 아니라 사용자가 오래된 정보를 봐도 되는지에 대한 서비스 판단입니다.

확인 순서

고정 데이터릴리스 때만 바뀌는 메뉴나 카테고리는 긴 캐시와 수동 무효화가 맞습니다.
변동 데이터사용자 권한, 장바구니, 결제 상태는 요청 단위 계산이나 no-store로 분리합니다.
중복 요청여러 컴포넌트가 같은 loader를 부르면 request memoization과 React.cache를 비교합니다.