Mehmet Oya

Hap Bilgi 2: Net Core Cache Kullanımları

Feb 01, 2022
2 minutes

Developer hap bilgi sever; ikinci bölümde .Net Core üzerinde Cache kullanımları hakkında bir bilgi sahibi olmanızı sağlayacak notlarımı bir araya getirdim. Daha detaylı bilgiler için mutlaka kaynaklara göz atın.

Önbellek yani diğer adıyla Cache, gelecek isteklerin daha hızlı bir şekilde sunulabilmesi için dataları depolayan yapılardır. Datalara tekrar tekrar erişilmek istendiğinde, uygulamalar dataları orijinal data kaynağından almak yerine cacheden alabilir. Böylece istenen bilgiyi sağlamak için gerekli eforu azaltır. Cache kullanımı daha ölçeklenebilir, daha hızlı, performansı yüksek uygulamalar geliştirmeyi sağlar.

InMemoryCache

.NET Core ile built-in bu cache tipi adı üstünde verileri uygulamanın belleğinde tutar. Microsoft.Extensions.Caching.Memory kütüphanesindeki IMemoryCache’in sağladığı interface ile ekleme silme gibi işlemleri yapabilmeyi sağlar. Bazı zamanlarda cachedeki verileri geçersiz kılmak gerekebilir. Bazen de bu veriler büyüdükçe fazla bellek tüketerek sunucularınızı,uygulamalarınızı çalışmaz hale getirebilir. Bu gibi problemleri aşabilmek için cache frameworkleri bazı seçenekler sunar.

Distributed Cache

Distributed cache , birden çok web uygulaması tarafından paylaşılan uygulamalar için verilerin önbellekte tutulmasını sağlar. Önbellekteki bilgiler tek tek web sunucularının belleğinde saklanmak yerine harici bir hizmette saklanır ve tüm sunucular tarafından kullanılabilir duruma gelir. Uygulamalar restart edildikten sonra veya yeni versiyon çıkıldıktan sonra da cache’teki bilgiler geçerli kalmaya devam eder.

Response Cache

Response cache bir web sayfasına gelen isteklerin sonuçlarının depolanmasıdır. Bu sayede bir sonraki istek geldiğinde, istek tekrar oluşturulmak yerine önbellekten hızlıca aktarılır.

Kaynaklar

[1].https://medium.com/@gktnkrdg/net-coreda-cache-kullanımları-1-inmemory-cache-97db8bed788f

[2].https://docs.microsoft.com/tr-tr/aspnet/core/performance/caching/memory?view=aspnetcore-3.1

[3].https://michaelscodingspot.com/cache-implementations-in-csharp-net/

[4].http://www.binaryintellect.net/articles/a7d9edfd-1f86-45f8-a668-64cc86d8e248.aspx

[5].https://www.devtrends.co.uk/blog/a-guide-to-caching-in-asp.net-core