devterview_$ iniciar simulação

Cenário: dados desatualizados por causa do cache de fetch

DifícilSêniorCache e dados

Pergunta

Numa app Next.js (App Router), uma página mostra dados antigos mesmo depois que o backend mudou. O que provavelmente está acontecendo com o cache e como você controla isso?

Resposta esperada

No App Router, `fetch` no servidor é cacheado de forma agressiva por padrão (Full Route Cache / Data Cache), então a resposta fica congelada até uma revalidação. Controles: `fetch(url, { cache: 'no-store' })` pra sempre buscar fresco; `fetch(url, { next: { revalidate: 60 } })` pra revalidar a cada 60s (ISR de dados); `revalidatePath`/`revalidateTag` pra invalidar sob demanda depois de uma mutação (ex: numa Server Action). Também vale checar segmentos de rota com `export const dynamic = 'force-dynamic'` ou `revalidate`. O diagnóstico é: identificar qual camada de cache está servindo (request, data, route) e escolher entre no-store, revalidate por tempo, ou invalidação por tag.

Por que perguntam isso

Cenário sênior de Next. O candidato forte sabe que o default MUDOU de comportamento entre versões e nomeia os mecanismos (`no-store`, `revalidate`, `revalidateTag`) em vez de só 'desliga o cache'.

#cache#fetch#revalidate#app-router
publicidade

Relacionadas