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를 설정하여 전체 경로의 재유효성 검사 빈도를 높일 수 있습니다. 이를 통해 일부 기준에 따라 특정 경로에 대해 더 자주 재유효성 검사를 동적으로 선택할 수 있습니다.