Web Geliştirme

ASP.NET Core’da In-Memory Cache Kullanımı

Yazar İlayda

In-Memory Cache Nedir?

In-Memory Cache, uygulamanızın belleğinde verileri geçici olarak saklama yöntemidir. Bu, aynı verilerin tekrar tekrar sorgulanmasını önler ve uygulamanızın hızını artırır. In-Memory Cache, özellikle sık kullanılan verilerin hızlı erişimini sağlamak için ideal bir seçenektir.

In-Memory Cache’in Avantajları

Daha hızlı yanıt süreleri: Önbellekteki verilere hızlı erişim, istemcilerinizin uygulamanızı daha hızlı deneyimlemesini sağlar.

Veritabanı yükünün azaltılması: Sık kullanılan sorguların veritabanına erişimini azaltarak veritabanı sunucusunun yükünü azaltır.

Ölçeklenebilirlik: In-Memory Cache, uygulamanızın ölçeklenebilirliğini artırabilir, çünkü daha az veritabanı istemi işlemi gerektirir.

ASP.NET Core’da In-Memory Cache Nasıl Kullanılır?

In-Memory Cache’i ASP.NET Core uygulamanıza entegre etmek için aşağıdaki adımları takip edebilirsiniz:

a. Microsoft.Extensions.Caching.Memory paketini projenize ekleyin.

b. Startup.cs dosyasında IServiceCollection‘a AddMemoryCache() ekleyin.

c. In-Memory Cache’i kullanmak için IMemoryCache interface arayüzünü inject edin.

IMemoryCache – Get() ve set() methodu

Memory’de istediğimiz türde verileri saklayabiliriz. (Resim vs.) Data saklama biçimimiz Key-Value mantığında çalışıyor.

Dikkat etmemiz gereken tek kısım memory’deki hafıza miktarımız.

Get : Datayı almak için kullanılır.

Set : Datayı set etmek için kullanılır.

Set Kullanımı : “username” bilgisini memory’e set ediyoruz. Memory’de bu key varsa iki farklı şekilde kontrol edip set edebiliriz.

Cache Temizleme ve Yenileme Önbellekteki verileri yönetmek için Remove ve Clear gibi yöntemleri kullanabilirsiniz. Örneğin:

 

Önbelleğe Alma Stratejileri In-Memory Cache’i kullanırken, hangi verileri ve ne kadar süreyle önbellekte tutmanız gerektiğini dikkatlice düşünmelisiniz. Bazı yaygın stratejiler şunlar olabilir:

Sık kullanılan veritabanı sorgularının sonuçlarını önbellekte saklama.

Önbellekteki verileri belirli bir zaman aşımı süresine (expiration) sahip olarak ayarlama.

Önbelleğe alınmış verileri, veri güncellemeleri veya değişiklikleri algıladığınızda yenileme.