ASP.NET中使用Cache类来缓存页面的信息
場景
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秒后,緩存的內容銷毀,重新緩存數據。
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ASP.NET中使用Cache类来缓存页面的信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET中使用一般处理程序ashx
- 下一篇: ASP.NET中序列化与反序列化-以显示