ASP.NET整理:緩存機制之數據緩存

A.XML中取數據:

ASP.NET整理:緩存機制之數據緩存
ASP.NET整理:緩存機制之數據緩存

分析:

var node=dom.DocumentElement.SelectSingleNode("//pagesize");

xpath寫法,如下表,詳見w3c:  http://www.w3school.com.cn/xpath/xpath_nodes.asp

,這裏雙斜槓意爲:從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置 

ASP.NET整理:緩存機制之數據緩存

 

Cache  緩存對象和 Application類似,都是全局的

區別的地方是,當內存緊張時,首先Cache可能會丟失 ,然後是session

提出一個問題,緩存依賴;

   1.絕對超時

   2.相對超時

   3.文件依賴

   4.數據庫依賴:

      兩種模式:輪詢,通知(必須是sql2005以上,啓動數據庫的通知服務)               

=============

實戰中:

緩存大數據量,一般是數據集或集合等。

緩存通常沒有依賴,那麼我們做一個功能,叫清理緩存(刷新緩存)

      緩存1  OK      

      緩存2  OK

      緩存3  OK

      緩存4  OK

               【清理】

其實質就是直接把Cache["XXXX"]中的內容覆蓋一遍達到更新的作用

 

B.應用程序緩存的應用:Cache函數

Cache["cacheName"] = value;   //最簡單的設置緩存的方法,這樣子設置的是永久緩存

以上這種方法如果碰到需要設置緩存的有效期,依賴項的時候就無能爲了,解決方法如下:

1.使用Add()方法

Cache.Add("test1","使用Add緩存測試",null,DateTime.Now.AddSeconds(7),

TimeSpan.Zero,CacheItemPriority.High,null);

使用Add()方法必須要將它的7個參數填寫完整,所以靈活性不夠

 

2.使用Insert()方法

a.只需要鍵和值2個參數就可以添加緩存

Cache.Insert("test2", "使用Insert緩存測試");

b.添加依賴項的緩存

Cache.Insert("test3", "使用依賴項的緩存",

new System.Web.Caching.CacheDependency(null,dependencies))

//這裏的dependencies是緩存的依賴項,當更改任何依賴項時,該隨想無效並從緩存中移除

c.設置有效期策略的緩存

Cache.Insert("test4","帶有效期的緩存",DateTime.Now.AddMinutes(1d),

System.Web.Caching.Cache.NoSlidingExpiration);

d.添加優先級的緩存

Cache.Insert("test5",  "帶優先級的緩存",  null,

System.Web.Caching.Cache.NoAbsoluteExpiration,

System.Web.Caching.Cache.NoAbsoluteExpiration,

System.Web.Caching.CacheItemPriority.High,  null);

CacheDependency說明:

 

C.檢索緩存注意事項:

由於緩存易失,所以在從緩存中檢索應用程序的數據緩存對象時,需要先判斷是否爲null,然後再檢索。

D.移除緩存

1.自動移除:

當出現緩存已滿、過期、依賴項更改等情況時,緩存項會自動移除

2.顯式移除:

Cache.Remove("test1");

E.實例

例一:

ASP.NET整理:緩存機制之數據緩存

 

例二:

 

假設現在圖書表中有一個列表示點擊次數(click),當click次數大於200時,進行緩存,而點擊次數小於200的時候不進行緩存:

ASP.NET整理:緩存機制之數據緩存





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章