패스잇
프론트엔드 개발 · 심화

Next.js의 Data Cache가 무효화(revalidate)될 때, 즉시 백그라운드에서 새 데이터를 가져오나요, 아니면 다음 요청이 올 때까지 기다렸다가 무효화 처리(On-demand)를 하나요?

힌트 · 기본적으로 다음 새로운 요청이 발생했을 때(Stale-while-revalidate 메커니즘) 새 데이터를 패치하여 캐시를 교체합니다.

Stale-While-Revalidate백그라운드 업데이트캐시 만료On-demand RevalidationIncremental Static Regeneration (ISR)

모범답안

Next.js의 Data Cache 무효화 방식은 크게 두 가지로 나눌 수 있습니다.

기본적으로는 Stale-while-revalidate 전략을 사용합니다. 즉, 캐시가 만료되면 다음 요청이 발생했을 때 백그라운드에서 새로운 데이터를 가져옵니다. 사용자는 즉시 기존 캐시 데이터를 보게 되고, 백그라운드 업데이트가 완료되면 다음 요청부터는 새로운 데이터를 보게 됩니다.

On-demand revalidation을 사용하는 경우, revalidatePath나 revalidateTag를 통해 특정 경로 또는 태그를 가진 데이터를 명시적으로 무효화할 수 있습니다. 이 경우에도 다음 요청이 발생했을 때 데이터가 갱신됩니다. 즉시 백그라운드에서 데이터를 가져오는 것은 아닙니다.

Incremental Static Regeneration (ISR)을 사용할 때도 마찬가지로, 지정된 revalidate 시간 간격 이후에 다음 요청이 발생했을 때 백그라운드에서 데이터가 업데이트됩니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Next.js 면접 질문

← Next.js 면접 질문 전체 보기