.Net Mvc Cache Sistemi Nedir? WebSitenin Performansını Nasıl Arttırabilirim?

emkoroglu (327) 10 yıl önce sordu

Veritabanında 7000 urun var. Sitenin yüklenmesi örneğin 12 sn bunu en aza indirgemek için nasıl bir yöntem kullanmalıyım? Bir nevi sitenin performansını arttırmak diyebiliriz

Toplam 2 cevap


anatolium (11) 10 yıl önce cevapladı

merhaba cache yapısını kullanabilirsiniz,eğer veriler sürekli değişmiyor durağansa belli zaman diliminde cacheden okuma yapabilirsiniz

  [OutputCache(Duration = 3600, VaryByParam = "none", Location = OutputCacheLocation.Client, NoStore = true)]
        [HttpPost]
        public ActionResult CrewFormPartial()
        {
            return PartialView("CrewFormPartial");
        }

 

client tarafında ise window.Data = gibi server tarafına gitmeden cache olarak bunu kullanabilirsiniz

ancak ürünlerin tamamını yüklemek yerine örnek 2000 tane yükleyip page scroll yaparsanız daha ii olur

kullanıcı aşaya indikce sayfa cache den yada server dan kalan verileri 200 200 gibi getirir..

hakan (15475) 10 yıl önce cevapladı

Eğer 7000 ürünün tamamını tek seferde veritabanından çekiyorsanız burada bir sorun var demektir.

Cache'den önce dikkat etmeniz gereken şey ürünlerin tamamını asla tek sorguda çekmeyin 

select * from urunler

gibi bir soru çalıştırmayın.

Her zaman sorgunuzda limit kullanın.

Eğer linq kullanıyorsanız aşağıdaki ifadenin yukarıdaki SQL sorgusu ile aynı sonucu verdiğini unutmayın.

db.urunler

Ürünleri listelerken sayfalama kullanabilirsiniz veya anatolium'un önerdiği gibi scroll paging yapabilirsiniz.  Sayfalama yaparken de Server side paging yani sunucu taraflı sayfalama kullanın.

Cache sistemi çok yoğun kullanıcınız varsa size yardımcı olacaktır. Kullanıcı olmadan 12 saniyede yükleniyorsa öncelikle yapmanız gereken yukarıda bahsettiklerimi kontrol etmek olmalı.