Capítulo 179 de 456
API legada para cachear resultados de operações caras (ex.: queries de DB) e reutilizá-los entre requisições; substituída por use cache no Next.js 16.
use cache via Cache Components.fetchData async function que retorna Promise; keyParts array extra de chaves de identificação (necessário quando usa variáveis externas via closure não passadas como argumento); options.tags array de tags para invalidação; options.revalidate segundos até revalidar (omitir ou false = cache indefinido até revalidateTag/revalidatePath).headers, cookies) dentro do escopo cacheado — passe esses dados como argumento vindos de fora da função.import { getUser } from './data'
import { unstable_cache } from 'next/cache'
const getCachedUser = unstable_cache(async (id) => getUser(id), ['my-app-user'])
export default async function Component({ userID }) {
const user = await getCachedUser(userID)
}
const getCachedUser = unstable_cache(
async () => ({ id: userId }),
[userId],
{ tags: ['users'], revalidate: 60 }
)
userId) na cache key e configurar tags + revalidação por tempo.| Version | Changes |
|---|---|
| v14.0.0 | unstable_cache introduzido |
'use cache'.headers/cookies dentro da função cacheada: não suportado; passe como argumento externo.use cache com Cache Components.keyParts qualquer variável de closure não passada como argumento explícito.unstable_cache.