程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET中的Cache使用介紹

ASP.NET中的Cache使用介紹

編輯:關於ASP.NET

       這篇文章主要介紹了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];
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved