ASP.NET2.0提供了一些新的用于提升程序性能的技術特性,其中,緩存技術是非常重要的一個特性,它提供了一種非常好的本地數據緩存機制,從而有效的提高數據訪問的性能。
數據緩存(DataCaching)就是將數據暫存于內存緩存區中(有時也暫存于硬盤緩存區中)的一種技術.當數據本身改變得不怎么頻繁,而被訪問的頻率又比較高時,采用這種技術將大大提高警惕數據訪問的效率.
1.網頁輸出緩存
(1)加顯緩存
<%@OutputCacheDuration="60"VaryByParam=none%>
語句<%@%>是網頁配置的指令,在這里用來給網頁指定緩存參數.其中:Duration="60"代表緩存持續時間為60秒,VaryByParam屬性用來指定特定版本的網頁輸出,因哪個參數而改變.在<%@OutputCache%>配置指令中一定要加入VaryByParam屬性.即使不使用這個版本屬性,也要將它加入,但將其值設為none.
(2)回調緩存
<%@OutputCacheDuration=60VaryByParam=stata%>
根據lll.aspx?stata=的內容分別緩存
下面的方法可以根據內容刷新
代碼如下:
<scriptrunat="server">
SharedFunctionGetCurrentDate(ByValcontextAsHttpContext)AsString
ReturnNow.ToString()
EndFunction
</script>
<asp:SubstitutionID="Substitution1"runat="server"MethodName="GetCurrentDate"/>
2.數據庫緩存
在ASP.NET2.0中可以通過數據源設置數據表的緩存參數.在SqlDataSource控件的屬性中有幾項用于設置緩存的參數.
CacheDuration:代表緩存的持續時間.默認為Infinite(無限)
CacheExpirationPolicy:緩存的策略.包括兩種設置:Absolute和Sliding.當設置成前者時,時限一到緩存區失效;當設置為后者時,時限到立即刷新緩存區中的數據,并繼續緩存更新后的數據.
CacheKeyDependency:可以用于SQLServer2005數據庫.
EnableCaching:默認時為False,即不使用數據緩存,將該屬性改為True時即可啟動數據緩存.
SqlCacheDependecy:緩存依賴關系.例如設置為pubs:authors表示數據庫Pubs中的authors數據表與它的數據緩存之間建立依賴關系.
有時數據表太大,緩存區可能會占用太大的內存空間.可以將數據緩存到硬盤的緩存區中,為了實現這一點,需要做一些專門的設置.設置包括兩方面.
一:在網頁中配置<%@OutputCacheDuration="3600"VaryByParam="none"DiskCacheable="true"%>
二:在Web.config文件中指定硬盤緩區區的大小,配置的語句如下:
代碼如下:
<system.web>
<caching>
<outputCache>
<diskCacheEnabled="true"maxSizePerApp="2"/>
</outputCache>
</caching>
</system.web>
其中diskCacheEnabled="true"用來啟動硬盤緩存功能;maxSizePerApp="2"用來確定緩存區的容量,這里確定的緩存區最大容量為2M.同于對硬盤的存取速度比較慢,因此硬盤緩存只適用于緩存持續時間較長的情況(本例中緩存時間為1小時).