Caching Data dalam Laluan API Next.js: Kemas Kini Penyelesaian Masalah
Apabila menggunakan aplikasi Next.js yang mengambil data daripada pangkalan data melalui API titik akhir, adalah mungkin untuk menghadapi isu di mana data kekal statik walaupun perubahan dibuat dalam pangkalan data selepas penggunaan. Punca utama selalunya terletak pada mekanisme caching yang dilaksanakan oleh Next.js dalam mod pengeluaran.
Memahami Caching dalam Next.js
Dalam direktori apl dan pada pengeluaran, Next .js cache data yang diambil dalam laluan API dan komponen pelayan secara lalai. Ini mengoptimumkan prestasi dengan mengurangkan pertanyaan pangkalan data dan meningkatkan masa tindak balas. Walau bagaimanapun, ia boleh mengganggu kemas kini data.
Melumpuhkan Cache
Untuk mengelakkan caching, anda boleh mengubah suai kaedah fetch() dengan pilihan berikut:
<code class="javascript">fetch('https://...', { next: { revalidate: 10 } }); </code>
Konfigurasi Segmen Laluan
Jika anda tidak menggunakan fetch() atau ingin mengkonfigurasi caching pada peringkat laluan, anda boleh menggunakan konfigurasi segmen laluan. Ini membolehkan anda menetapkan pilihan caching dalam komponen laluan.
<code class="javascript">// layout.js OR page.js OR route.js import prisma from './lib/prisma'; /* Below option is when you want no caching at all, there are more options on the doc depending on your needs. */ 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>
Dengan menggunakan pelarasan caching ini, anda boleh memastikan bahawa aplikasi Next.js anda mendapatkan semula data baharu daripada pangkalan data selepas penggunaan, mengekalkan ketepatan dan masa nyata kemas kini.
Atas ialah kandungan terperinci Mengapa Data Laluan API Next.js Saya Tidak Dikemas Kini Selepas Penggunaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!