Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghalang Data Titik Akhir API Daripada Dicache dalam Next.js?

Bagaimana untuk Menghalang Data Titik Akhir API Daripada Dicache dalam Next.js?

Susan Sarandon
Lepaskan: 2024-11-01 12:34:29
asal
517 orang telah melayarinya

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

Cara Menghalang Data Titik Akhir API Daripada Dicache dalam Next.js

Next.js v13.2 menggunakan direktori aplikasi baharu dengan Route Pengendali. Dalam pengeluaran, rangka kerja secara automatik cache data yang diambil daripada titik akhir API dan Komponen Pelayan. Ini boleh membawa kepada ketidakkonsistenan jika data hujung belakang dikemas kini.

Penyelesaian 1: Mengubah suai Pilihan Ambil

Untuk melumpuhkan caching untuk pertanyaan pengambilan tertentu, tambahkan pengesahan semula atau pilihan cache ke fungsi fetch():

<code class="js">fetch('https://...', { next: { revalidate: 10 } }); // revalidate every 10 seconds
fetch('https://...', { cache: 'no-store' }); // no caching</code>
Salin selepas log masuk

Penyelesaian 2: Menggunakan Konfigurasi Segmen Laluan

Untuk digunakan dengan perpustakaan lain (cth., axios, ORM) atau untuk tetapan cache segmen setiap laluan, pertimbangkan untuk menggunakan Konfigurasi Segmen Laluan:

<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>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menghalang Data Titik Akhir API Daripada Dicache dalam Next.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan