4. 요청 데이터 재검증
캐시를 활용한 성능 개선은 일반적으로 좋은 방법이지만,
데이터가 새롭게 업데이트 되었음에도, 캐시된 기록 때문에 지속적으로 이전에 저장된 데이터만 렌더링 되지 않도록 데이터를 재검증하는 처리도 필요함
→ 캐시 데이터의 신선도(Cache Freshness)
재검증(Revalidation)
재검증은 기존의 데이터 캐시를 제거하고 새롭게 갱신된 데이터를 다시 가져오는 과정으로,
데이터 캐시에 적재된 데이터를 재검증하는 방법은 크게 두 가지가 있음
1. 시간 기반 재검증, Time-based Revalidation
시간 기반 재검증 방식이란 캐싱된 데이터를 유지하는 시간을 기준으로 재검증하는 방법으로,
개발자가 데이터 캐시에 데이터를 캐싱하도록 설정해둔 유지 시간이 이미 경과 되었으며, 이후 새로운 요청이 발생하였을 경우 데이터 재검증 처리를 수행하는 방식으로 재검증 작업이 처리됨
적절한 적용 시나리오
페이지에 나타낼 데이터가 가끔 변경되며, 데이터의 실시간성이 크게 중요하지 않은 경우
적용 방법
시간 기반 재검증 전략은 다음과 같이 적용할 수 있음
page.js
// 1시간이 경과하였을 경우 재검증 수행
fetch('https://...', { next: { revalidate: 3600 } }) // 3600초2. 요청별 재검증, On-demand Revalidation
폼 제출과 같은 특정 이벤트에 따라 데이터 재검증 처리를 수행하는 방식
적절한 적용 시나리오
실시간성이 중요하며, 페이지에 최신 데이터를 가능한 빨리 나타내고 싶을 경우
적용 방법
요청별 재검증 전략은 revalidatePath나 revalidateTag를 활용하여 적용할 수 있음
Last updated on