Next.js 16 use cache: Açık Kontrol, Gizli Tahminlerin Sonu – webdedik gönderisi

Next.js 16 use cache: Açık Kontrol, Gizli Tahminlerin Sonu

Next.js 16 ile framework'ün en kafa karıştırıcı yanı ortadan kalkıyor: gizli caching. Önceki versiyonlarda fetch istekleri otomatik olarak cache'leniyordu, geliştiriciler route segment'lerin ne zaman statik hale geldiğini tahmin etmeye çalışıyordu ve cache ayarları fetch seçeneklerine gömülüydü.

Yeni `use cache` direktifi her cache kararını açık hale getiriyor. Siz hangi fonksiyonları cache'lemek istediğinizi işaretliyorsunuz, `cacheLife()` ile süreyi belirliyor ve `cacheTag()` ile geçersiz kılıyorsunuz. Eski sistem başarısız oldu çünkü davranış tahmin edilemezdi, bir fetch çağrısı hiçbir seçenek olmadan sonsuza kadar cache'lenebilir veya hiç cache'lenmeyebilirdi. Route segment'ler derleyicinin kodunuzdan çıkardığı buluşsal yöntemlere göre statik veya dinamik oluyordu.

Production'da ciddi sorunlar ortaya çıkıyordu: development'ta dinamik çalışan bir component aniden production'da statik render oluyordu. Bunun nedeni, derleyicinin farklı koşullarda farklı kararlar almasıydı.

`use cache` ile bu belirsizlik bitiyor. Bir Server Component içine direktifi yazarsanız, o fonksiyon ve tüm child component'leri cache'lenir. `cacheLife()` ile dakika, saat veya gün cinsinden TTL (yaşam süresi) ayarlarsınız. Örneğin bir blog yazısı listesi 1 saatlik cache ile güncellenebilir, ama ürün fiyatları 5 dakikada bir yenilenir.

Gerçek fark şu: artık cache davranışı kodda açıkça görünüyor. Başka bir geliştirici (veya 6 ay sonra siz) dosyayı açtığında, ne cache'lendiğini ve neden cache'lendiğini anında anlıyor. Tahmin oyunu yok, debugging saatleri tasarrufu var.

Eğer Next.js'de caching hakkında kafanız karışmışsa, bu değişiklik rahatlatıcı olacak. Kaynak yazıyı oku ve kendi projelerine nasıl uygulanacağını görmek için.

konu hakkında tepkinizi verebilirsiniz