ASP.net中的緩衝

來源:互聯網
上載者:User
看了微軟課程後的一些記錄。 

使用緩衝的情況:要緩衝那些經常被訪問,並且變化不大的資料。緩衝整個應用程式都要使用的設定或對象(但這些設定和對象必須在其生存期內不變化)

 

二種用於WEB應用的緩衝技術:輸出緩衝和資料緩衝。

輸出緩衝:把一次請求所產生的動態輸出儲存於記憶體中。

狀態:如果沒有使用緩衝,狀態隨著資料而變,

       如果使用緩衝,狀態根據緩衝設定的時間再變。

Response.Cache.SetExpires(DateTime.Now.AddSeconds(10));  //緩衝時間為10秒

Respones.Cache.SetCacheability(HttpCacheability.Public);  //任何人都可以訪問緩衝。

或者在頁面html頭加上:<%OutPutCache Duration="10" VaryByParm="None"%>效果是一樣的。

 

資料緩衝:可以緩衝任何資料。

  使用:Cache["UserName"]="MeMe";

Response.Write(Cache["UserName"]);

注意,Cache不能通過下標訪問,如Cache[0]

 緩衝刪除:Cache.Remove("UserName");

 緩衝變數的添加:Cache.Add(); Cache.Insert()

 用Insert來增加緩衝靈活,為什麼呢,因為Insert緩衝的時候,可以增加資料依賴,就是說,緩衝的依賴項變了,緩衝則會重建。

Insert(Key,value,dependencies,absoluteExpiration,slidingExpiration,priority,priorityDecay,onRemoveCallBack);

可以看到insert緩衝可控制的參數也相當多,得到的緩衝也相當的靈活。

 

緩衝失效(替換)的情況:

1.腐爛搜尋:當記憶體緊張時,緩衝機制會找出不常用或不重要的對象,清出緩衝。

2.到期控制:指定對象的生存周期。指定的時間可以是絕對的,也可以是相對的。

3.檔案和索引值的依賴:從外部檔案或其它緩衝索引值是否改變,來決定本身索引值是否有效。

 

比如,依賴某個檔案:Cache.Insert("DataCach5",dv1,new CacheDependency(server.MapPath("customl.xml"); //此緩衝依賴customl.xml

相關文章

聯繫我們

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