| mechanism | what | where | Purpose | Duration |
|---|---|---|---|---|
| Request | ||||
| Memoization | Return values of function | |||
| 동일 설정에서의 요청에 따른 데이터를 저장 | Server | Re-use in React component tree | ||
| 중복 요청 방지 | 단일 요청 동안 | |||
| Data cache | Data | Server | Store data across user requests and deployments | |
| 추가 왕복 방지 | Persistence | |||
| 사용자가 revalidate 요청하거나 설정한 시간이 지나기 전까지 | ||||
| Full Route Cache | HTML and RSC payload | Server | Reduce rendering cost and improver performance | |
| 기존 페이지 재 사용, | Persistence | |||
| 사용자가 revalidate 요청하거나 설정한 시간이 지나기 전까지 | ||||
| Router Cache | RSC Payload in memory in the browser | Client | Reduce server requests on navigation | User session or time-based |
: 다음 페이지 방문시 데이터 캐시가 재 검증됨
params
/ : 모든 데이터 재검증page: 일치하는 페이지까지만 검증 | layout: 동일한 레이아웃을 가진 중첩된 페이지까지 검증import { revalidatePath } from "next/cache";
params
import { revalidateTag } from 'next/cache’
데이터 fetch 시, 다음과 같이 태그를 추가해야 됨
fetch(url, { next: { **tags: [...]** } });