Репост из: Ramziddin — Dasturlash haqida
👩💻 Next.js cache haqida qisqacha.
Request Memoization
Bir sahifani ichida turli component-lar o'sha-o'sha resourceni fetch qilganida, masalan /profile sahifada 3ta component-lar `/api/user/`-ga so'rov yuborvotti, 3ta so'rov yuborishi o'rniga, 1ta so'rov yuboriladi va qolgan 2ta so'rovni Next.js avtomatik ravishda 1chi so'rovdan qaytgan qiymatni ishlatadi.
Bu aynan fetch bilan ishlidi, boshqa funksiyalar bilan ishlatish uchun – Reactdagi cache funksiyasidan foydalanish kerak.
Data Cache
Endi sizning o'sha-o'sha /profile sahifangizga 10ta foydalanuvchi kirdi. `/api/user`-ga 10ta so'rov yuborishi o'rniga, siz 1ta so'rov yuborasiz va qolgan 9ta so'rovlar uchun 1chi so'rovdagi natijani ishlatasiz.
Albatta data cache mexanizmlarni o'zgartirishingiz mumkin, masalan har 15 daqiqa cacheni yangilash, yoki qaysidir APIga so'rov kelganida (masalan `PUT /api/user/`) cacheni yangilashingiz mumkin (yani "on demad revalidation").
Bu ham aynan fetch bilan ishlidi, boshqa funksiyalar bilan ishlatish uchun - Reactdagi Next.jsdagi unstable_cache funksiyasidan foydalanish kerak.
Bulardan tashqari full route cache bilan client-side cache bor.
Request Memoization
Bir sahifani ichida turli component-lar o'sha-o'sha resourceni fetch qilganida, masalan /profile sahifada 3ta component-lar `/api/user/`-ga so'rov yuborvotti, 3ta so'rov yuborishi o'rniga, 1ta so'rov yuboriladi va qolgan 2ta so'rovni Next.js avtomatik ravishda 1chi so'rovdan qaytgan qiymatni ishlatadi.
Bu aynan fetch bilan ishlidi, boshqa funksiyalar bilan ishlatish uchun – Reactdagi cache funksiyasidan foydalanish kerak.
Data Cache
Endi sizning o'sha-o'sha /profile sahifangizga 10ta foydalanuvchi kirdi. `/api/user`-ga 10ta so'rov yuborishi o'rniga, siz 1ta so'rov yuborasiz va qolgan 9ta so'rovlar uchun 1chi so'rovdagi natijani ishlatasiz.
Albatta data cache mexanizmlarni o'zgartirishingiz mumkin, masalan har 15 daqiqa cacheni yangilash, yoki qaysidir APIga so'rov kelganida (masalan `PUT /api/user/`) cacheni yangilashingiz mumkin (yani "on demad revalidation").
Bu ham aynan fetch bilan ishlidi, boshqa funksiyalar bilan ishlatish uchun - Reactdagi Next.jsdagi unstable_cache funksiyasidan foydalanish kerak.
Bulardan tashqari full route cache bilan client-side cache bor.