ISR (Incremental Static Regeneration)

Definição

ISR (Incremental Static Regeneration) é uma técnica que permite atualizar páginas estáticas geradas via SSG após o deploy, sem reexecutar o build completo da aplicação.
Ela possibilita que novas versões das páginas sejam geradas sob demanda, enquanto o restante do conteúdo continua sendo entregue como HTML estático.

Essa abordagem combina os benefícios do SSG (rapidez, cache, SEO) com a flexibilidade de atualização dinâmica — e é uma funcionalidade nativa do Next.js.

Objetivos do ISR

  • Atualizar páginas estáticas sob demanda, sem rebuild completo.
  • Evitar builds demorados mesmo com grandes quantidades de dados.
  • Reduzir o tempo de build, regenerando apenas o que for necessário.
  • Garantir performance, mantendo o HTML estático e atualizado.

Exemplo prático (Next.js com revalidate)

// pages/produto/[id].js
export async function getStaticProps({ params }) {
  const res = await fetch(`https://api.exemplo.com/produto/${params.id}`);
  const produto = await res.json();

  return {
    props: { produto },
    revalidate: 60, // revalida a cada 60 segundos
  };
}

Neste exemplo:

  • A página é gerada estaticamente no primeiro acesso ou no momento do build.

  • Após 60 segundos, uma nova versão pode ser gerada em segundo plano.

  • Enquanto isso, o usuário continua recebendo a versão anterior.

  • A próxima requisição já recebe a versão mais recente.

O ciclo do ISR

  1. O usuário acessa uma página gerada estaticamente.
  2. O servidor entrega o HTML existente (como no SSG).
  3. Se o tempo de revalidação expirou, uma nova versão é gerada em segundo plano.
  4. Assim que a nova versão é criada, as próximas requisições recebem o HTML atualizado.

Considerações importantes

  • Ideal para conteúdo que muda com frequência moderada, como produtos, artigos, páginas de eventos ou dashboards públicos.
  • Diferente do SSR, o HTML não é gerado a cada requisição, o que alivia o servidor.
  • Evita rebuilds longos, permitindo que apenas páginas acessadas sejam regeneradas.
  • Não exige configuração de infraestrutura adicional — é nativo do Next.js.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com