Funcția unstable_cache() permite aplicarea mecanismului de caching Data Cache din Next.js asupra oricărei operațiuni asincrone care nu folosește fetch(), cum ar fi interogările directe de baze de date prin Prisma ORM, Drizzle, MongoDB sau calcule CPU complexe.
import { unstable_cache } from 'next/cache';
import prisma from '@/lib/db';
export const getArticolePopulare = unstable_cache(
async (categorie: string) => {
return await prisma.articol.findMany({
where: { categorie, publicat: true },
orderBy: { vizualizari: 'desc' },
take: 5,
});
},
['articole-populare-key'], // Identificator unic cache
{
revalidate: 3600, // Revalidare automată după 1 oră (ISR)
tags: ['articole'], // Etichetă pentru invalidare manuală prin revalidateTag
}
);
Eficiență: Reduce numărul de conexiuni și interogări la baza de date cu până la 99% pentru conținutul citit frecvent.
Parametri
fn: Funcția asincronă ale cărei date returnate vor fi memorate în cache.keyParts: Tablou de șiruri folosit la compunerea cheii globale de cache.options.revalidate: Durata de viață în secunde a rezultatului.options.tags: Tablou de etichete asociate pentru invalidare la cerere.
Întrebări & Exemple de Cod:
unstable_cache() din next/cache – Cache-uirea Interogărilor ORM și DBAi o nelămurire despre utilizarea comenzii
unstable_cache() din next/cache – Cache-uirea Interogărilor ORM și DBsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.