Cache Nedir?
İngilizce: Cache
Cache, sık kullanılan veriyi kaynağa tekrar gitmeden hızlı yanıt vermek için geçici olarak saklayan performans katmanıdır.
Cache Nedir?
Cache, sık kullanılan veya üretmesi pahalı olan veriyi geçici olarak daha hızlı erişilebilen bir katmanda tutma yöntemidir. Amaç aynı veriyi her istekte veritabanından, uzak API’den veya origin sunucudan tekrar üretmemektir.
Cache tarayıcıda, CDN üzerinde, uygulama belleğinde, Redis gibi dış bir serviste veya veritabanı sorgu katmanında bulunabilir. Örneğin ürün kategori listesi, fiyat dışı katalog verisi, görsel dosyalar ve hesaplanmış rapor özetleri cache için uygun adaylardır.
Nasıl Tasarlanır?
Cache anahtarı hangi verinin saklandığını tanımlar. TTL, verinin ne kadar süre geçerli kabul edileceğini belirler. Invalidation ise veri değiştiğinde eski cache kaydının nasıl temizleneceğidir. Performans sorunlarının önemli kısmı cache eklemekten değil, doğru zamanda temizleyememekten çıkar.
Yanlış cache tasarımı kullanıcıya eski fiyat, eski stok veya başka kullanıcıya ait veri gösterme riski taşır. Bu nedenle kişisel veriler, yetki bazlı içerikler ve ödeme sonuçları dikkatli ele alınmalıdır.
Redis uygulama seviyesinde sık kullanılan cache çözümlerindendir. CDN ise statik dosya ve bazı HTTP yanıtlarını kullanıcıya yakın uç noktalarda önbelleğe alır.
İlgili Terimler
API önbellekleme, sık istenen yanıtları kısa süreli saklayarak aynı verinin tekrar hesaplanmasını veya veritabanından okunmasını engeller.
CDNCDN, statik içerikleri uç sunucularda önbelleğe alıp kullanıcıya en yakın noktadan sunarak gecikmeyi ve origin yükünü azaltır.
RedisRedis, veriyi bellekte tutan anahtar-değer yapılı NoSQL sistemidir; önbellek, kuyruk ve oturum verisi için düşük gecikme sunar.
TTLTTL, DNS kayıtlarının veya cache girdilerinin ne kadar süre geçerli sayılıp yeniden sorgulanmadan kullanılacağını belirleyen süredir.