Caching Next.js: Mengecas Turbo Apl Anda dengan Pengambilan Data yang Cekap

DDD
Lepaskan: 2024-09-18 16:55:34
asal
902 orang telah melayarinya

Caching dalam Next.js bukan sahaja tentang menjimatkan masa—ia mengenai mengurangkan permintaan rangkaian yang berlebihan, memastikan data segar dan menjadikan apl anda berprestasi seperti rockstar.
Sama ada anda cuba menyimpan data dicache lebih lama atau memuat semula data atas permintaan, Next.js memberikan anda semua alatan yang anda perlukan. Dalam artikel ini, kami akan membahagikan cara menggunakan caching dengan berkesan dalam Next.js

Next.js memanjangkan API pengambilan untuk memberi anda kuasa besar dalam hal caching. Dengan pilihan pengambilan mudah seperti cache: 'no-store' dan cache: 'force-cache', anda boleh mengawal dengan mudah bila dan cara data dicache.

Sentiasa Segar dengan cache: 'no-store' (Setara dengan unstable_noStore())

Mahukan data baharu setiap masa? cache: 'tiada-kedai' ialah yang perlu digunakan. Pilihan pengambilan ini melangkau cache sepenuhnya dan mengambil data terkini dengan setiap permintaan. Ia sesuai apabila anda memerlukan ketepatan masa nyata—tiada sisa daripada pengambilan semalam dibenarkan.

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Nota: Anda juga boleh menggunakan unstable_noStore() jika anda ingin melangkau cache pada komponen pelayan. Sintaks mungkin berubah kemudian, jadi kekal dengan cache: 'no-store' untuk kestabilan.

Gunakan Semula Data dengan cache: 'force-cache' (Setara dengan unstable_cache())

Sebaliknya, jika anda boleh menggunakan data cache (fikirkan kandungan statik yang tidak selalu berubah), gunakan cache: 'force-cache'. Ia akan menyimpan respons untuk kegunaan masa hadapan dan melangkau permintaan rangkaian yang berlebihan.

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Nota: unstable_cache() turut menyimpan cache data, tetapi menggunakan cache yang stabil: 'force-cache' adalah lebih dipercayai jika anda mengelak daripada kejutan.

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Pastikan Ia Segar dengan Pengesahan Semula

Kadangkala data cache memerlukan muat semula—sama ada selepas masa tertentu atau apabila dicetuskan oleh peristiwa. Beruntung untuk anda, Next.js membolehkan anda mengesahkan semula data cache anda dalam beberapa cara.

Sahkan semula dengan Masa: next.revalidate

Jika data anda perlu dimuat semula secara berkala (seperti setiap jam atau hari), anda boleh menetapkan tempoh pengesahan semula menggunakan pilihan next.revalidate dalam permintaan pengambilan anda. Ia akan mengambil data terbaharu selepas masa yang anda tentukan sambil menyimpan perkara dicache sepanjang masa.

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

fetch('https://api.example.com/data', {
  next: { revalidate: 3600 }  // Revalidate data every hour (3600 seconds)
});
Salin selepas log masuk

Pengesahan Semula Atas Permintaan dengan Teg: revalidateTag()

Sekarang, Bayangkan anda boleh memberitahu Next.js untuk memuat semula bit tertentu data cache apabila sesuatu yang penting berlaku—seperti penyerahan borang atau catatan blog baharu yang disiarkan secara langsung. Anda boleh menetapkan teg pada data cache anda, dan kemudian mengesahkan semula teg tersebut apabila diperlukan.

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Dengan cara ini, anda boleh memuat semula bahagian cache anda secara manual atas permintaan tanpa menunggu pengesahan semula berjadual seterusnya.

Menggunakan Kaedah Tidak Stabil

Jika anda jenis pengembaraan, anda juga boleh menggunakan kaedah unstable_noStore() dan unstable_cache() secara langsung pada komponen pelayan untuk mengurus gelagat caching. Perlu diingat bahawa ini adalah "tidak stabil" atas sebab tertentu, jadi ia mungkin berubah pada masa hadapan(atau mungkin telah ditukar semasa anda membacanya).

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Atau jika anda suka caching, berikut ialah cara anda boleh menggunakan unstable_cache():

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Langkau Penggerudian Prop

Berikut ialah helah yang kemas: jika anda mengambil data yang sama merentas berbilang komponen (seperti Reka Letak, Halaman dan beberapa komponen dalam), jangan tekankan untuk mengambilnya sekali di bahagian atas dan menurunkannya atau perlu buat permintaan untuk data itu beberapa kali pada berbilang komponen yang menyebabkan prestasi melambatkan. Next.js secara automatik menghafal permintaan pengambilan semasa pemaparan pelayan, bermakna jika anda mengambil data yang sama beberapa kali, ia cukup bijak untuk hanya memukul rangkaian sekali dan berkongsi hasilnya dalam berbilang komponen.

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Next.js Caching: Turbocharging Your App with Efficient Data Fetching

Membungkusnya

Next.js memberi anda semua alatan yang anda perlukan untuk mengurus caching dengan berkesan, sama ada melalui pilihan API ambil seperti cache: 'no-store' dan cache: 'force-cache', atau kaedah unstable_noStore() dan unstable_cache() yang lebih eksperimen. Tambahkan strategi pengesahan semula seperti next.revalidate dan revalidateTag, dan anda mempunyai semua yang anda perlukan untuk memastikan data anda sentiasa segar tanpa perlu bersusah payah.

Sumber:
Next.js caching

Atas ialah kandungan terperinci Caching Next.js: Mengecas Turbo Apl Anda dengan Pengambilan Data yang Cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!