Skip to content

Next.js cacheLife expire 옵션 문서 기여 제안 #86

@01-binary

Description

@01-binary

배경

Next.js cacheLife API에서 expire 옵션을 생략하면 INFINITE_CACHE (never)로 동작하지만, 공식 문서에 이에 대한 설명이 없음.

현재 상황

  • expire 타입: expire?: number (optional)
  • 생략 시 내부적으로 INFINITE_CACHE = 0xfffffffe (~136년)로 처리
  • 빌트인 프리셋 중 defaultmax가 expire: never로 동작
  • 공식 문서의 모든 커스텀 프로필 예시에서 expire를 항상 숫자로 명시하고 있어, 생략 가능 여부나 never 동작이 문서화되지 않음

문서에 누락된 내용

  1. expire를 생략하면 캐시가 만료되지 않는다는 설명
  2. expire: never가 가능한지 여부 (실제로는 불가, 생략해야 함)
  3. 빌트인 프리셋의 expire 값 비교표
  4. expire가 지나면 stale 데이터도 사라져서 cold start가 발생한다는 동작 설명

소스 코드 근거

// next/dist/lib/constants.js
const INFINITE_CACHE = 0xfffffffe;

// next/dist/build/templates/app-route.js
const expire = typeof context.renderOpts.collectedExpire === 'undefined' 
  || context.renderOpts.collectedExpire >= INFINITE_CACHE 
  ? undefined 
  : context.renderOpts.collectedExpire;

기여 방향

  • docs/01-app/03-api-reference/04-functions/cacheLife.mdx 수정
  • Cache profile properties 섹션에 expire 생략 시 동작 추가
  • 커스텀 프로필 예시에 expire 생략 케이스 추가

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions