close

在一個大型流量的網站中,通常必須考慮到流量以及伺服器CPU使用量這兩個點。當伺服器CPU一直處於滿載的情況下,使用者就會感覺到網站的速度變慢。解決的方法之一,就是使用快取,像是將首頁整個存放在記憶體中,當使用者瀏覽時IIS就不用再重新產生網頁,或是將資料庫裡的資料或是程式用到的變數做快取,就不用一直對資料庫做存取及重新計算程式所用到的變數。

而本篇文章將針對Application Data Caching做說明。

首頁在ASP.NET網頁上宣告下列兩個控制項。

2010-12-26_162057

 

接下來在程式裡引用System.Web.Caching命名空間。

2010-12-26_162127

 

在講解程式碼之前,先介紹Cache這個類別,它是在System.Web.Caching這個命名空間裡,可以將物件放進Cache裡,而它有Add及Insert這兩個method讓程式存放物件。這兩個method的差別在於當呼叫Insert這個method,如果索引值重覆,會直接覆蓋舊的資料,反之呼叫Add的話則會失敗。

而Add及Insert這兩個method的參數是一樣,使用方式請參數下列程式碼:

2010-12-26_162239

第一個參數是設定索引值。第二個則是要快取的物件。第三個則是設定與某個檔案的相依性,當該檔案有變更時快取的物件就會被移除,如果不設定相依性,直接設null就可以。而第四、第五個參數是有關聯的,是設定快取的失效時間,第四個參數可以設為NoAbsoluteExpiration或是設定要在哪一個時間過後失效,而第五個則是設定在該快取的最後一次存取後,要過多久才失效,如果前一個參數有設定時間,那該參數就要設為NoSildingExpiration。而最後兩個分別是設定移除快取的優先權及被移除時的call back function。

 

第一次執行。

2010-12-26_162315

 

執行第二次時可以發現到,網頁的兩個時間已經不一樣,這代表第二個所印出的時間已經被快取住。

2010-12-26_162329

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()