ASP.NET 數據緩存

數據緩存

課程目標

數據緩存概述

頁面輸出緩存

頁面部分緩存

應用程序緩存

緩存概述

緩存是一種在計算機中廣泛用來提高性能的技術,他將訪問頻率高或構造成本高的數據保留在內存中。Web應用程序緩存用於在HTTP請求時保留頁或者數據,並在新創建的情況下多次使用。一旦應用程序停止或者重新啓動,緩存會被清除。

聲成高性能、可縮放的Web應用程序最重要的的因素之一是能夠在首次請求時將存儲在內存中,不管是數據對象還是頁的某個部分。

頁面輸出緩存

頁面輸出緩存作爲最簡單的緩存形式,將已經生成的動/靜態頁面全部內容保存在服務器內存中。當請求時,系統將緩存中的相關數據直接輸出,直到緩存過期。緩存不需要經過頁面處理生命週期,可以縮短請求的響應時間提高性能。

設置頁面輸出緩存的兩種方式:

1.@OutPutCache指令

2.頁面輸出緩存API--HttpCachePolicy類

@OutPutCache指令:ASP.NET中的輸出緩存可以使用服務器的內存將處理和顯示頁面的輸出緩存起來。啓動頁面緩存機制的方法只需要在頁面的頂部添加一個@OutPutCache指令,就可以將緩存頁面輸出:

@OutPutCache指令的常用屬性:





HttpCachePolicy類

使用@HttpCachePolicy指令實現對於輸出緩存的各項設置,同時還可以使用輸出緩存API來編程設置頁面輸出緩存。這種使用編程來設置頁面輸出緩存的方法的核心是調用System.Web.HttpCachePolicy。該類主要包含用於設置緩存特定的HTTP標頭的方法和用於控制ASP.NET頁面輸出緩存的方法。

頁面緩存API的HttpCachePolicy類的使用方法:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(30));

Response.Cache.SetExpires(DateTime.Parse("19:00:00");

Response類的Cache屬性用於獲取頁面緩存策略,該屬性的類型是HttpCachePolicy。可以通過調用Response.Cache實例,進而實現對與當前頁面輸出緩存的設置。

頁面部分緩存

頁面部分緩存是指輸出頁面的某些部分,而不是緩存整個頁面內容。實現頁面部分緩存有兩種機制:一種是空間緩存。另一種是緩存後替換。

控件緩存

控件緩存是通過用戶控件來實現局部頁面緩存機制的。控件緩存類似於頁面輸出緩存,他們使用相同的指令@OutPutCache

緩存後替換

ASP.NET頁面中既包含靜態內容,又包含基於數據庫的動態內容。靜態內容通常不會發生變化。因此,靜態內容對數據緩存是非常必要的。基於數據的動態不同,數據庫中的數據可能每時每刻都在發生變化,如果用動態數據進行緩存,肯能會造成數據不能及時更新。使用Substitution控件能夠指定頁面輸出緩存中需要以動態內容替換該控件的部分,對整個頁面進行輸出緩存,使用Substitution控件指定頁面中免於緩存的部分。在使用Substitution控件時,將整個頁面緩存起來,需要動態改變內容的地方用Substitution控件代替即可。屬性用於獲取或者設置當Substitution控件執行時爲回調而調用的方法名稱,有三點:

1.該方法必須被定義爲靜態方法

2.該方法必須接受HttpContext類型的參數

3.該方法必須返回String類型的值

頁面輸出緩存也頁面部分緩存的代碼如下:

打開“Microsoft Visual Studio 2010”之前,要先編寫數據庫。

首先打開“Microsoft Visual Studio 2010”,點擊“文件”--“新建”--“項目”,彈出“新建項目”模版,在模版中選擇“web”--“ASP.NET應用程序”,點擊“確定”。然後再標題頭輸入“<%@ OutputCache Duration="1" VaryByParam="none" %>”,之後綁定數據庫(圖1),之後在後臺編寫代碼(圖2),然後就是運行(圖3)。

                                                      圖1


圖2

圖3

這是創建的頁面輸出緩存,頁面部分緩存是在“WebApplication1”右鍵點擊“添加”--“新建項”,彈出模版,選擇“Web用戶控件”,點擊“添加”,綁定成績表(圖4),之後在後臺編寫(圖5),然後再添加一個webForm窗體,把創建的“Web用戶控件”拉到“Webform”中(圖6),然後點擊在運行(圖7)。

                                         圖4


                                      圖5


                                    圖6

圖7

之後就是Substitution控件的用法,添加一個新的“Webform”項目,在頁面代碼中輸出指令(圖8),在後臺編寫(圖9),運行(圖10)。

                                                  圖8


                  圖9                                                                                                                圖10


應用程序數據緩存

頁面輸出緩存和頁面部分緩存可以將頁面整體或者其中的部分存儲到內存中。應用程序數據緩存的主要功能是在內存中存儲各種也應用程序相關的對象。

Cache類

應用程序數據緩存有Cache類實現,該類屬於命名空間System.Web.Caching。

Cache類的主要方法:


add方法與insert方法

添加一個新的“Webform”項目,在頁面中拖三個控件(圖11),然後一個一個控件點擊進入後臺代碼(圖12),之後運行結果爲(圖13,圖14,圖15,圖16):

                                                   圖11


                                           圖12


           圖13                                         圖14                                      圖15                              圖16



發佈了39 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章