Cache Kullanımı .Net Core- 1










Herkese merhaba,

 

Bugün işleyeceğimiz pratik dersin konusu .Net core üzerinde cache kullanımı.

Yakın zamanda kendi projelerimde performans arttırmak amacıyla kullandığım bir yöntem oldu.

Şunu belirtmeliyim benim gibi konuya yeni hakim olacaklar için performans anlamında işinizi bayağı kolaylaştıracak bir hamle.

Özellikle (kendi projemde ihtiyacımı karşılayan) view'e gönderilen toplu veri gösterimlerinde pagination desteğiyle birlikte performansı üst düzey hızlandıracaktır.

Projemde 100.000 satır veriyi hızlı ve sorunsuz bir şekilde kullanıcıya göstermem gerektiği için cache işlemi günün kurtarıcısı oldu.

Basit anlamda cache işlemini şöyle düşünebilirsiniz.

Bir sokak düşünün sokağın en başında dükkanınız, en sonunda deponuz bulunmakta.

Deponuzdan almanız gereken her eşya için sürekli git gel yapmanız gerekecek.

Zaman ve işlem anlamında maliyetiniz tamamiyle artacaktır.

Fakat sürekli git gel yerine yanınızda bulunduracağınız bir platform ile tüm ihtiyaçlarınızı üzerine yükleyip(geçici bir süre) ihtiyacınız olduğunda kullanabilir hale getireceksiniz.Kaba tabiriyle olay bu.

Aşağıda kod olarak örneğini paylaşıyorum.

 

 

Key Tanımlanır:

 const string ogrencikey= "itemkey";




Model tanımı oluşturulur:



List<Ogrenci> cachemaster;




Cache kontrolü ile get ve set işlemi yapılır:

 if (!_memCache.TryGetValue(cacheKey,out ogrencikey))

            {

                cachemasters = _baserepository.ListItems();

                var cacheExpOptions = new MemoryCacheEntryOptions

                {

                    AbsoluteExpiration = DateTime.Now.AddMinutes(30),

                    Priority = CacheItemPriority.Normal

                };

                

                _memCache.Set(ogrencikey, cachemasters, cacheExpOptions);

            }

            else

            {

                cachemasters = _memCache.Get(cacheKey) as List;


            }


 

Startup Class:

 

services.AddMemoryCache();



Controller Constructor:

Constructor ile IMemoryCache interface'ini çağırırız.


private readonly IMemoryCache _memCache;




Sonuç olarak öğrenci modelimizi cache kontrolü ile olmadığında set ettik.

Eğer var ise get ile modelimizi cache üzerinden çağırdık.

CacheExpOptions alanında cache işlemi için ayarlarını set ettik.

Basit anlamda cache kullanımını böylece tamamlamış olduk.İlerde doğabilecek farklı ihtiyaçlarda  derinlemesine yapacağımız incelemeyi serinin devamında birlikte inceleyeceğiz.


Teşekkürler

 


Source:medium-sefikcankanber

Cache Kullanımı .Net Core 1


Popüler Yayınlar