ASP.NET中的Cache使用介紹

來源:互聯網
上載者:User

   這篇文章主要介紹了ASP.NET中的Cache使用介紹,本文講解了Cache 是怎麼工作的、Cache 怎麼建立及怎麼銷毀、什麼時候用cache、cache 調用注意事項等內容,需要的朋友可以參考下

  Cache 即快取 ,我想非常多人對他的第一印象一定像我相同,感覺他一定能提高系統得效能和運行速度。的確。Net推出cache的初衷確實是這樣的。那麼cache是怎麼提高系統效能和運行速度呢?是不是在所有情況下用cache都能提高效能?是不是cache用的越多就越好呢?我在近期研發的項目中有所體會,寫下來當作總結也希望能跟大家一起探討探討,有錯誤的地方希望大家批評指正。

  1.Cache 是怎麼工作的

  Cache 是分配在伺服器上的一個公用的記憶體片。

  所謂公用指的cache只要一建立是所有一個用戶端瀏覽器都能通過後台代碼訪問到他,他面向的是所有使用者,相對而言session也是伺服器上的一段記憶體,但他面向的是單個使用者。他是伺服器的一段記憶體塊,也就是說每個cache一經建立就佔用了伺服器資源的。所以從這點來說我們就能說:並不是cache越多越好。

  cache 是有時間限制的,超過了伺服器設定的到期時間,他就會被伺服器回收。

  c.cache 能存放所有對象

  2.Cache 怎麼建立及怎麼銷毀

  建立cache

  在。Net環境下通過Cache.Insert(string key,object o)方法建立。其中key 代表cache的ID,o代表存到cache裡的對象。

  銷毀cache.

  通過方法Cache.Remove(string key)其中key 代表cache的 ID.

  調用cache.

  Cache支援裝箱/拆箱操作。如你能把一個DataSet對象ds通過Cache.Insert(“dsCache”,ds)的方式存到Cache中,能通過拆箱操作 DataSet ds = (DataSet)Cache[“dsCache”]來訪問他。

  3.什麼時候用cache

  Cache 一般用於資料較固定,用的較頻繁的地方。例如能把進銷存系統中能把產品資訊存入cache,在使用者調用產品資訊時通過調用cache即可,這樣從非常大程度上減少了使用者和資料庫的互動,提高了系統的效能。反之,cache不適合用在資料變動快,使用範圍非常窄的地方。例如把一個具體採購單存入 cache中。

  4.cache 調用注意事項

  Cache是有時間限制的。超過了伺服器設定的到期時間,就會被伺服器回收。當cache被回收後對應的記憶體塊就會被清空,再次通過cache[“cachekey”]訪問對象時返回的就是null值。所以以下這種調用就會出現異常

  ?

1 2 3   DataSet ds = (DataSet)Cache[“cacheds”];      DataRow dr = ds.Table[0].Row[0]; //出錯,ds為null值,不存在表0。

  正確的寫法應該是:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 DataSet ds      If(Cache[“cacheds”] != null)      {      ds = (DataSet)Cache[“cacheds”];      }      Else      {      ds= GetDsFromDataBase();      }      DataRow dr = ds.Table[0].Row[0];

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.