08 December 2016

Data Caching – Veri Ön Bellekleme

Bir önceki notlarımda OutPut Caching konusuna değinmiştim. Burada Data Caching, yani veri bellekleme konusundan bahsedeceğim. Uygulamamız içerisinde veri yada verileri önbelleğe alabilmek için Data Caching’i kullanmamız gerekiyor. İstenilen bilginin tekrar tekrar kaynaklardan çekilmesi yerine, gelen ilk istek server tarafından karşılanacak, sonrasında ise önbelleklenen veri bellekten alınıp uygulama içerisinde kullanılacak.

Sayfamıza GridView ve buton ekleyelim:

<asp:GridView ID="GridView1" runat="server">
 </asp:GridView>
 <asp:Button ID="btnGoster" runat="server" Text="Göster" onclick="btnGoster_Click" />

Kod kısmına yazalım:

protected void btnGoster_Click(object sender, EventArgs e)
 {
 DataTable dt = new DataTable();
 if (Cache["data"]==null) {
SqlConnection sqlcon = new SqlConnection("server=.;database=northwind;trusted_connection=true");
 SqlDataAdapter da = new SqlDataAdapter("select * from categories", sqlcon);
da.Fill(dt);
 Cache["data"] = dt;
}
 else
 {
 dt = Cache["data"] as DataTable;
 }
 GridView1.DataSource = dt;
GridView1.DataBind();
 }

Cache 60 saniye süre vermek istersek aşağıdaki kod satırını ekleyeceğiz:

Cache.Insert("data", dt, null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration);