Heim > Web-Frontend > js-Tutorial > Wie kann verhindert werden, dass API-Endpunktdaten in Next.js zwischengespeichert werden?

Wie kann verhindert werden, dass API-Endpunktdaten in Next.js zwischengespeichert werden?

Susan Sarandon
Freigeben: 2024-11-01 12:34:29
Original
523 Leute haben es durchsucht

How to Prevent API Endpoint Data From Being Cached in Next.js?

So verhindern Sie, dass API-Endpunktdaten in Next.js zwischengespeichert werden

Next.js v13.2 verwendet ein neues App-Verzeichnis mit Route Handler. In der Produktion speichert das Framework automatisch Daten zwischen, die von API-Endpunkten und Serverkomponenten abgerufen werden. Dies kann zu Inkonsistenzen führen, wenn die Backend-Daten aktualisiert werden.

Lösung 1: Abrufoptionen ändern

Um das Caching für bestimmte Abrufabfragen zu deaktivieren, hängen Sie Optionen zur erneuten Validierung oder zum Cache an die fetch()-Funktion:

<code class="js">fetch('https://...', { next: { revalidate: 10 } }); // revalidate every 10 seconds
fetch('https://...', { cache: 'no-store' }); // no caching</code>
Nach dem Login kopieren

Lösung 2: Routensegmentkonfiguration verwenden

Zur Verwendung mit anderen Bibliotheken (z. B. Axios, ORM) oder für Per- Um die Einstellungen für den Routensegment-Cache zu ändern, sollten Sie die Verwendung der Routensegmentkonfiguration in Betracht ziehen:

<code class="js">// layout.js, page.js, or route.js

import prisma from './lib/prisma';

/*
  Force dynamic behavior, there are more options available depending on your requirement.
*/
export const dynamic = "force-dynamic";

async function getPosts() {
  const posts = await prisma.post.findMany();
  return posts;
}

export default async function Page() {
  const posts = await getPosts();
  // ...
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass API-Endpunktdaten in Next.js zwischengespeichert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage