← voltar ao blog
código14 de maio de 2026

Next.js 15 vs 16: o novo sistema de cache ficou muito melhor

Entenda a diferença entre cacheTag no Next.js 15 e cacheLife no Next.js 16.

Post 4 — Cache no Next.js 15 vs 16

O cache do Next.js mudou bastante

Se você usou Next.js 15 provavelmente viu isso:

revalidateTag('posts');

Ou:

cacheTag('posts');

Mas no Next.js 16 a ideia evoluiu.

E sinceramente?

Ficou muito mais elegante.


Next.js 15

Antes:

import { unstable_cacheTag as cacheTag } from 'next/cache';
 
export async function getPosts() {
  'use cache';
 
  cacheTag('posts');
 
  return db.post.findMany();
}

Funcionava bem.

Mas ainda parecia meio experimental.


Agora no Next.js 16

Temos:

import { cacheLife, cacheTag } from 'next/cache';
 
export async function getPosts() {
  'use cache';
 
  cacheTag('posts');
  cacheLife('hours');
 
  return db.post.findMany();
}

Muito mais legível. Muito mais declarativo.


O que o cacheLife faz?

Ele define quanto tempo o cache vive.

Exemplo:

cacheLife('minutes');

Ou:

cacheLife('hours');

A API ficou mais natural de entender.


Imagem 1

Cache antigo


Imagem 2

Novo sistema de cache


O mais interessante

O Next.js está caminhando para um sistema onde cache faz parte da própria arquitetura da aplicação.

Não parece mais um detalhe técnico escondido.

Agora ficou:

  • mais previsível
  • mais declarativo
  • mais fácil de manter

E o "use cache"?

Essa parte continua extremamente importante.

'use cache';

Ela marca a função como cacheável.

Depois disso você adiciona:

  • cacheTag()
  • cacheLife()

E controla tudo de forma muito mais limpa.


Final

O sistema de cache do Next.js está ficando MUITO poderoso.

E provavelmente muita gente ainda não percebeu isso.

Se você trabalha com:

  • dashboards
  • blogs
  • ecommerce
  • APIs pesadas
  • CMS

Vale muito a pena estudar essas mudanças.