https://github.com/0seo8/DreamCoding/commit/51ec1a4480e42d72a8ace93056a1969d6b22113b
File Conventions: Route Segment Config
레이아웃이나 페이지의 기본 재유효성 검사 시간을 설정합니다. 이 옵션은 개별 fetch
요청에서 설정한 revalidate
값에 덮어쓰지 않습니다.
layout.tsx | page.tsx | route.ts
export const revalidate = false
// false | 'force-cache' | 0 | number
false
: (기본값: 기본값이 fale이므로 항상 SSG로 동작) cache
옵션을 'force-cache'
로 설정한 fetch
요청이나 동적 함수를 사용하기 전에 발견된 모든 fetch
요청을 캐시하는 기본 휴리스틱입니다. 사실상 revalidate: Infinity
와 동일하며, 이는 리소스가 무기한으로 캐시되어야 함을 의미합니다. 여전히 개별 fetch
요청에서 cache: 'no-store'
또는 revalidate: 0
을 사용하여 캐시되지 않고 라우트를 동적으로 렌더링할 수 있습니다. 또는 revalidate
를 라우트 기본값보다 작은 양수로 설정하여 라우트의 재유효성 검사 빈도를 높일 수 있습니다.0
: 레이아웃이나 페이지가 항상 동적으로 렌더링되도록 합니다.(서버사이드 요청이 올때마다 만들어짐) 이 옵션은 cache
옵션을 설정하지 않은 fetch
요청의 기본값을 'no-store'
로 변경하지만, cache: 'force-cache'
로 선택한 fetch
요청이나 양수 revalidate
를 사용한 fetch
요청은 그대로 유지됩니다.number
: (초 단위) 레이아웃이나 페이지의 기본 재유효성 검사 빈도를 n
초로 설정합니다.유용한 정보: revalidate 옵션은 Node.js 런타임을 사용할 때만 사용할 수 있습니다. 따라서 runtime = 'edge'와 함께 revalidate 옵션을 사용하는 것은 작동하지 않습니다.
Revalidation Frequency
revalidate
가 전체 경로의 재유효성 검사 빈도를 결정합니다. 이를 통해 하위 페이지가 부모 레이아웃과 동일한 빈도로 재유효성 검사됩니다.fetch
요청은 경로의 기본 revalidate
보다 낮은 revalidate
를 설정하여 전체 경로의 재유효성 검사 빈도를 높일 수 있습니다. 이를 통해 일부 기준에 따라 특정 경로에 대해 더 자주 재유효성 검사를 동적으로 선택할 수 있습니다.