Next.js
캐시의 재사용 범위와 갱신 조건 정하기
캐시는 결과를 다시 쓰는 정책이며 언제 버리고 누구와 공유할지도 정해야 합니다.
이럴 때 필요해요
공개 공연 소개와 개인 예매 내역을 같은 방식으로 재사용해도 되는지 판단합니다.
어떻게 동작하나요?
공연 소개를 요청할 때마다 같은 계산을 반복할 필요가 없다면 결과를 저장해 다시 사용할 수 있습니다. 하지만 좌석 잔여량이나 개인 예매 내역은 최신성과 사용자 경계를 더 엄격하게 고려해야 합니다.
Next.js 16의 캐시 문서는 Cache Components 설정 여부에 따라 읽을 경로가 나뉩니다. 서버 컴포넌트라는 이유만으로 자동 재사용을 가정하지 말고 사용하는 버전·설정·API의 보존과 갱신 규칙을 확인하세요.
아래는 API 호출 코드가 아닌 정책 기록용 객체입니다. 소개가 바뀌면 갱신한다는 기준과 개인 데이터를 공유하지 않는 기준을 먼저 정한 뒤 실제 캐시 API에 연결합니다. 이 노트는 특정 캐시 성능을 측정하지 않습니다.
코드 예제
동작을 설명하는 읽기 전용 예제입니다.
const policy = {
concertInfo: { shared: true, invalidateWhen: "공연 소개 수정" },
myBookings: { shared: false, invalidateWhen: "계정 전환 또는 주문 변경" }
};
console.log(policy.myBookings.shared); // false정책 의도를 적은 객체이며 실제 캐시를 생성하거나 무효화하는 코드는 아닙니다.
자주 헷갈리는 포인트
- 개인 데이터에 공개 콘텐츠와 같은 공유 정책을 적용하지 않습니다.
- 캐시 기능 이름을 외우기 전에 보존·갱신·사용자 경계를 정합니다.
내 말로 설명해 보기
공개 소개와 나의 예매 내역을 같은 공유 캐시로 묶어도 될까요?
생각할 단서 같은 주소라도 사용자마다 보여 줄 내용이 같은지 확인하세요.
예시 답변 확인
설명에 들어갈 핵심
- 캐시는 결과를 다시 쓰는 정책이며 언제 버리고 누구와 공유할지도 정해야 합니다.
- 정책 의도를 적은 객체이며 실제 캐시를 생성하거나 무효화하는 코드는 아닙니다.
예시 답변
예매 내역은 사용자별 권한이 있는 개인 데이터이므로 같은 공개 공유 정책으로 묶으면 안 됩니다. 서버 캐시와 브라우저 앱 캐시도 각각 확인합니다.
문장을 그대로 외우기보다 예제의 값과 실행 흐름을 떠올리며 설명해 보세요.