문서
App Router 사용하기
cacheHandler

사용자 정의 Next.js 캐시 핸들러

Next.js에서 Pages와 App Router를 위한 기본 캐시 핸들러는 파일 시스템 캐시를 사용합니다. 이는 별도의 구성이 필요하지 않지만, next.config.jscacheHandler 필드를 사용하여 캐시 핸들러를 사용자 정의할 수 있습니다.

next.config.js
module.exports = {
  cacheHandler: require.resolve("./cache-handler.js"),
  cacheMaxMemorySize: 0, // 기본 인메모리 캐싱 비활성화
};

사용자 정의 캐시 핸들러의 예시를 보고 구현에 대해 자세히 알아보세요.

API 참조

캐시 핸들러는 다음 메서드를 구현할 수 있습니다: get, set, 그리고 revalidateTag.

get()

매개변수타입설명
keystring캐시된 값의 키입니다.

캐시된 값을 반환하거나 찾지 못한 경우 null을 반환합니다.

set()

매개변수타입설명
keystring데이터를 저장할 키입니다.
dataData 또는 null캐시될 데이터입니다.
ctx{ tags: [] }제공된 캐시 태그입니다.

Promise<void>를 반환합니다.

revalidateTag()

매개변수타입설명
tagstring재검증할 캐시 태그입니다.

Promise<void>를 반환합니다. 데이터 재검증 또는 revalidateTag() 함수에 대해 자세히 알아보세요.

알아두면 좋은 점:

  • revalidatePath는 캐시 태그 위에 있는 편의 계층입니다. revalidatePath를 호출하면 revalidateTag 함수가 호출되며, 이를 통해 경로를 기반으로 캐시 키에 태그를 지정할지 선택할 수 있습니다.

버전 기록

버전변경 사항
v14.1.0cacheHandler로 이름이 변경되고 안정화되었습니다.
v13.4.0incrementalCacheHandlerPathrevalidateTag를 지원합니다.
v13.4.0incrementalCacheHandlerPath가 독립 실행형 출력을 지원합니다.
v12.2.0실험적 incrementalCacheHandlerPath가 추가되었습니다.