場景 ASP.NET中新建Web網站並部署到IIS上(詳細圖文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199747 在上面博客中已經將網站部署到了IIS上。 註: 博客: https://blog.csdn. ...
場景
ASP.NET中新建Web網站並部署到IIS上(詳細圖文教程):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199747
在上面博客中已經將網站部署到了IIS上。
註:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
實現
如果將數據保存在全局應用程式對象Application中,值將會在程式運行時一直存在,而我們只需要緩存一段時間。
ASP.NET提供了一個Cache對象來執行對象數據的緩存。
Cache對象是System.Web.Caching.Cahe類的一個實例。並且只要對應的應用程式域保持活動,該實例便保持有效。該對象作為一個只讀屬性聲明在HttpContext對象或Page對象中。
Cahe類的方法和屬性
名稱 | |
Count屬性 | 獲取存儲在緩存中的項數 |
Add方法 | 將指定項添加到Cache對象,該對象具有依賴性、過期和優先順序策略以及一個委托 |
Get方法 | 從Cache對象檢索指定項 |
Insert方法 | 從Cache對象插入項 |
Remove方法 | 從應用程式的Cache對象移除指定項 |
我們在處理一些常用但沒必要絕對及時的數據時,往往會用到數據緩存,比如論壇的帖子列表就是緩存了幾秒的。
緩存了幾秒對於小網站可能並沒什麼大不了的,但是對應大型網站,一秒鐘就可能有成百上千的訪問,對這些常用的數據進行緩存,對於資料庫的壓力就減少了上百倍。
新建一個Web窗體頁面Cache.aspx,然後在設計視圖上添加一個Label標簽。
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
然後打開Cache.aspx.cs,找到頁面的load事件方法
protected void Page_Load(object sender, EventArgs e) { DateTime time = DateTime.Now; if(Cache["timeKey"] ==null) { Cache.Insert("timeKey", time, null, DateTime.Now.AddSeconds(5), TimeSpan.Zero); } else { time = DateTime.Parse(Cache["timeKey"].ToString()); } this.Label1.Text = time.ToString(); }
運行項目,訪問此頁面。會出現在我們訪問過後的5內,無論是刷新頁面還是在新瀏覽器中訪問該頁面事件都不會改變。5秒後,緩存的內容銷毀,重新緩存數據。