ASP.NET 緩衝技術全面剖析收集

來源:互聯網
上載者:User

1 。     緩衝的分類

     從分布上來看,我們可以概括為用戶端緩衝和伺服器端緩衝。15-1所示:

 

圖15-1 緩衝的分類

 

用戶端緩衝—— 這點大家都有直觀的印象。比如你去一個新的網站,第一次可能要花一陣子時間才能載入整個頁面。而以後再去呢,時間就會大大的縮短,原因就在於這個用戶端緩衝。現在的瀏覽器都比較智能,它會在客戶機器的硬碟上保留許多靜態檔案,比如各種gif,jpeg檔案等等。等以後再去的時候,它會盡量使用本機快取裡面的檔案。只有伺服器端的檔案更新了,或是緩衝裡面的檔案到期了,它才會再次從伺服器端下載這些東西。很多時候是IE替我們做了這件事情。

 

伺服器端緩衝—— 有些東西沒法或是不宜在用戶端緩衝,那麼我們只好在伺服器端想想辦法了。伺服器端緩衝從性質上看,又可以分為兩種。

(1)靜態檔案快取

    好多頁面是靜態,很少改動,那麼這種檔案最適於作靜態緩衝。現在的IIS 6.0這部分內容是直接存放在Kernel的記憶體中,由HTTP.SYS直接管理。由於它在Kernel Space,所以它的效能非常的高。使用者的請求如果在緩衝裡面,那麼HTTP.SYS直接將內容發送到network driver上去,不需要像以前那樣從IIS的User space的記憶體copy到Kernel中,然後再發送到TCP/IP stack上。Kernel level cache幾乎是現在高效能Web server的一個必不可少的特性。

(2)動態緩衝

     動態緩衝是比較有難度的。因為你在緩衝的時候要時刻注意一個問題,那就是緩衝的內容是不是已經過時了。因為內容過時了可能會有很嚴重的後果。比如網上買賣股票的網站。你給別人提供的價格是過時的,那人家非砍了你不可。緩衝如何發現自己是不是過時就是一個非常複雜的問題。

 

    在ASP.NET中,常見的動態緩衝主要有以下幾種手段:

  Ø 傳統緩衝方式

  Ø 網頁輸出快取。

  Ø 頁面局部緩衝。

  Ø 利用.NET提供的System.Web.Caching 緩衝。

  Ø 緩衝依賴。

 

2.  傳統緩衝方式

比如將可重複利用的東西放到Application或是Session中去儲存。

 Session["Style"] = val;
 Application["Count"] = 0;

 

 

       系統緩衝全解析文章索引

    • 系統緩衝全解析1:系統緩衝的概述
    • 系統緩衝全解析2:網頁輸出快取
    • 系統緩衝全解析3:頁面局部緩衝
    • 系統緩衝全解析4:應用程式資料緩衝
    • 系統緩衝全解析5:檔案快取依賴
    • 系統緩衝全解析6:資料庫緩衝依賴
    • 系統緩衝全解析7:第三方分布式緩衝解決方案 Memcached和Cacheman

文本摘自:http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html 

轉載用途:方便自己學習匯總整理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.