0 Tage Serie
javascript / intermediate
Snippet

Feingranulares Caching mit unstable_cache

Die 'unstable_cache'-Utility im Next.js App Router ermöglicht es, Ergebnisse teurer Operationen (wie Datenbankabfragen) manuell zu cachen. Sie bietet Tag-basierte Invalidierung und zeitbasierte Revalidierung außerhalb der Standard-'fetch'-API.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
import { unstable_cache } from 'next/cache';
export const getCachedUserData = unstable_cache(
async (userId: string) => {
const user = await db.user.findUnique({ where: { id: userId } });
return user;
},
['user-profile'],
{ tags: ['users'], revalidate: 3600 }
);
nextjs
Erklärung
1
unstable_cache(async (...) => { ... })
Umschließt eine asynchrone Funktion, um das Caching ihres Rückgabewerts zu ermöglichen.
2
['user-profile']
Der Cache-Key, der verwendet wird, um dieses spezifische Ergebnis zu identifizieren.
3
{ tags: ['users'], revalidate: 3600 }
Konfiguriert Tags für das manuelle Löschen und eine TTL von einer Stunde.