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.