頁輸出快取

2022-04-07 07:37:32 字數 3113 閱讀 4257

< doctype html public -wcdtd xhtml stricten httpwwwworgtrxhtmldtdxhtml-strictdtd> 頁輸出快取輸出快取是一種功能強大的技術,它通過快取從動態頁生成的內容來提高請求/響應的吞吐量。預設情況下啟用輸出快取,但不快取來自任何給定響應的輸出,除非採取顯式操作使該響應成為可快取的。 若要使響應滿足輸出快取的條件,它必須具有有效的過期/有效性策略和公共的快取可見性。這可通過使用低階別的outputcacheapi 或高階別的@ outputcache指令來實現。 啟用輸出快取後,當發出對頁的第乙個get請求時建立乙個輸出快取項。隨後的gethead請求由該輸出快取項服務,直到該快取請求過期。

輸出快取還支援快取的getpost名稱/值對的變體。

輸出快取遵循頁的過期和有效性策略。如果某頁位於輸出快取中,並且有乙個過期策略標記指示該頁自快取起 60 分鐘後過期,則在 60 分鐘後將該頁從輸出快取中移除。如果此後接收到另乙個請求,則執行頁**,並且可以再次快取該頁。這種過期策略稱為絕對過期,即頁在某個確定的時間之前有效。

下面的示例說明用@ outputcache指令輸出快取響應的簡單方法。此示例僅顯示生成響應的時間。若要檢視輸出快取的運**況,請呼叫該頁並注意生成響應的時間。然後重新整理該頁並注意原來的時間沒有更改,表明輸出快取正在為第二個響應服務。

下面的指令在響應時啟用輸出快取:

<%@ outputcache duration="60" varybyparam="none"%>此指令僅指示頁應快取 60 秒,而且頁不隨任何getpost引數改變。在該頁仍被快取時接收到的請求由快取服務。60 秒後,從快取中移除該頁;將顯式處理下乙個請求並再次快取頁。 當然,在上例中,輸出快取幾乎沒有省去任何工作。下面的示例顯示相同的輸出快取技術,但查詢乙個資料庫並將結果顯示在網格中。

在最後的示例中,對應用程式做了輕微的修改,使使用者可以有選擇地查詢各個州的作者。此示例說明如何使用@ outputcache指令的varybyparam屬性,快取隨查詢字串中的名稱/值對值變化的請求。

<%@ outputcache duration="60" varybyparam="state" %>對於資料集中的每個州,都有乙個將所需的州作為查詢字串的一部分進行傳遞的鏈結。應用程式然後構造合適的資料庫查詢,並顯示僅屬於選定州的作者。 注意,當您第一次單擊給定州的鏈結時,它在頁的底部生成乙個新的時間戳。此後,每當在一分鐘內重新提交對該州的請求時,都會得到原來的時間戳,表示該請求已被快取。

應用程式若要更多地控制與快取相關的 http 標頭,可使用system.web.httpcachepolicy類提供的功能。下面的示例顯示等效於上例中使用的頁指令的**。

若要使之成為變化的過期策略(即每次請求頁時都重新設定過期時間),請按以下**所示來設定slidingexpiration屬性。

注意:啟用變化的過期後 (setslidingexpiration(true)),對原伺服器的請求總是會生成乙個響應。在下游快取可滿足客戶端請求(快取中的內容尚未過期)而無須從原伺服器請求內容的情況下,使用變化的過期時間是很有用的。

從 asp 移植過來的應用程式可能已用 asp 屬性設定了快取策略;例如:

response.cachecontrol = "public";response.expires = 60; response.cachecontrol = "public"response.expires = 60 response.cachecontrol = "public";response.expires = 60;c#vbjscript

這些屬性受 asp.net 的支援,並且具有同已顯示的其他示例相同的作用。

本節小結 輸出快取技術快取由 asp.net 頁生成的內容。

除非頁具有有效的過期時間或有效性策略和公共的快取可見性,否則不將其放入輸出快取。

#c#專欄

頁面輸出快取

頁面輸出快取 最簡單的一種,下面的duration和varybyparam屬性是必須的 outputcache duration 10 varybyparam none 只使用.cs檔案來設定頁面輸出快取 通過web.config設定頁面輸出快取 中的配置 頁面檔案 outputcache cach...

頁面輸出快取

頁面輸出快取 作為最簡單的快取形式,將已經生成的動 靜態頁面全部內容儲存在伺服器記憶體中。在這一過程中,不需要再次經過頁面的生命處理週期。這樣縮短了請求的響應時間,提高了應用程式的效能。1 使用 outputcache指令 使用 outputcache指令,能夠實現對頁面輸出快取的一般效能需求。ou...

頁快取記憶體與頁回寫

訪問物理記憶體的速度遠快於訪問磁碟的速度 所以把經常使用的資料快取到物理記憶體 頁快取記憶體 訪問磁碟可直接變為訪問物理記憶體的方式 頁快取記憶體是由記憶體中的物理頁面組成的 內容對應磁碟上的物理塊 讀快取當核心開始乙個讀操作時 它首先會檢查需要的資料是否再頁快取記憶體中 如果在就放棄訪問磁碟 直接...