asp.net 2.0 緩衝(理論篇)

來源:互聯網
上載者:User
         ASP.NET 2.0提供了一些新的用於提升程式效能的技術特性,其中,緩衝技術是非常重要的一個特性,它提供了一種非常好的本機資料緩衝機制,可以非常容易的定製屬於資料緩從,從而有效提高資料訪問的效能。

  緩衝有一個不太容易克服的缺點,那就是資料到期的問題。最典型的情況是,如果將資料庫表中的資料內容緩衝到伺服器記憶體中,當資料庫表中的記錄發生更改時,Web應用程式則很可能顯示到期的、不準確的資料。對於某些類型的資料,即使顯示的資訊到期,影響也不會很大。然而,對於即時性要求比較嚴格的資料,例如,股票價格、拍賣出價之類資訊,顯示的資料稍有到期都是不可接受的。

      ASP.NET 2.0支援以下幾種緩衝
網頁輸出快取
  網頁輸出快取是最為簡單的緩衝機制,該機制將整個ASP.NET頁面內容儲存在伺服器記憶體中。當使用者請求該頁面時,系統從記憶體中輸出相關資料,直到快取資料到期。在這個過程中,緩衝內容直接發送給使用者,而不必再次經過頁面處理生命週期。通常情況下,網頁輸出快取對於那些包含不需要經常修改內容的,但需要大量處理才能編譯完成的頁面特別有用。需要讀者注意的是,網頁輸出快取是將頁面全部內容都儲存在記憶體中,並用於完成用戶端請求。
頁面部分緩衝
         頁面部分緩衝是指輸出快取頁面面的某些部分,而不是緩衝整個頁面內容。實現頁面部分緩衝有兩種機制:一種是將頁面中需要緩衝的部分置於使用者控制項(.ascx檔案)中,並且為使用者控制項設定緩衝功能(包含使用者控制項的頁面可設定也可不設定緩衝)。這就是通常所說的“控制項緩衝”。設定控制項緩衝的實質是對使用者控制項進行緩衝配置。主要包括以下3種方法:一是使用@ OutputCache指令以聲明方式為使用者控制項設定緩衝功能,二是在程式碼後置檔案中使用PartialCachingAttribute類設定使用者控制項緩衝;三是使用ControlCachePolicy類以編程方式指定使用者控制項緩衝設定。另外,還有一種稱為“緩衝後替換”的方法。該方法與控制項緩衝正好相反,將頁面中的某一部分設定為不緩衝,因此,儘管緩衝了整個頁面,但是當再次請求該頁時,將重新處理那些沒有設定為緩衝的內容。
應用程式資料緩衝
  應用程式資料緩衝提供了一種編程方式,可通過鍵/值對將任意資料存放區在記憶體中。使用應用程式緩衝與使用應用程式狀態類似。但是,與應用程式狀態不同的是,應用程式資料緩衝中的資料是易失的,即資料並不是在整個應用程式生命週期中都儲存在記憶體中。應用程式資料緩衝的優點是由ASP.NET管理緩衝,它會在項到期、無效,或記憶體不足時移除緩衝中的項,還可以配置應用程式緩衝,以便在移除項時通知應用程式。
緩衝依賴
         Net 2.0引入的自訂緩衝依賴項,特別是基於MS-SQL Server的SqlCacheDependency特性,使得我們可以避免“資料到期”的問題,它能夠根據資料庫中相應資料的變化,通知緩衝,並移除那些到期的資料

緩衝功能也有其自身的不足。例如,顯示的內容可能不是最新、最準確的,為此,必須設定合適的緩衝策略。又如,緩衝增加了系統的複雜性並使其難於測試和調試,因此建議在沒有緩衝的情況下開發與測試應用程式,然後在效能最佳化階段啟用緩衝選項。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.