ASP.NET中Session和Cache的區(qū)別總結(jié)
以前實(shí)現(xiàn)數(shù)據(jù)的緩存有很多種方法,有客戶端的Cookie,有服務(wù)器端的Session和Application。其中Cookie是保存在客戶端的一組數(shù)據(jù),主要用來保存用戶名等個人信息。Session則保存對話信息。Application則是保存在整個應(yīng)用程序范圍內(nèi)的信息,相當(dāng)于全局變量。通常使用最頻繁的是Session,那么Session和Cache又有什么區(qū)別呢?
本節(jié)結(jié)合使用經(jīng)驗(yàn),詳細(xì)介紹Session緩存和Cache緩存的區(qū)別。
(1)最大的區(qū)別是Cache提供緩存依賴來更新數(shù)據(jù),而Session只能依靠定義的緩存時間來判斷緩存數(shù)據(jù)是否有效。
(2)即使應(yīng)用程序終止,只要Cache.Add方法中定義的緩存時間未過期,下次開啟應(yīng)用程序時,緩存的數(shù)據(jù)依然存在。而Session緩存只是存在于一次會話中,會話結(jié)束后,數(shù)據(jù)也就失效了。
(3)Session容易丟失,導(dǎo)致數(shù)據(jù)的不確定性,而Cache不會出現(xiàn)這種情況。
(4)由于Session是每次會話就被加載,所以不適宜存放大量信息,否則會導(dǎo)致服務(wù)器的性能降低。而Cache則主要用來保存大容量信息,如數(shù)據(jù)庫中的多個表。
(5)VS2005的測試版提供了將緩存保存在硬盤上的參數(shù),但正式版中取消了這個功能,估計其在以后版本中會重新實(shí)現(xiàn)。而Session目前只能保存在內(nèi)存中,對其性能有影響。
相關(guān)文章
asp.net sql 數(shù)據(jù)庫處理函數(shù)命令
asp.net sql 數(shù)據(jù)庫處理函數(shù)命令 ,需要的朋友可以參考下。2009-10-10
關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù)的方法
關(guān)閉子頁面刷新父頁面中部分控件數(shù)據(jù),具體的實(shí)現(xiàn)代碼如下,感興趣的朋友可以參考下哈2013-05-05
ASP.NET Core使用Log4net實(shí)現(xiàn)日志記錄功能
這篇文章介紹了ASP.NET Core使用Log4net實(shí)現(xiàn)日志記錄功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03
asp.net中利用ashx實(shí)現(xiàn)圖片防盜鏈代碼
直接分析盜鏈原理:看下面用httpwatch截獲的http發(fā)送的數(shù)據(jù)2008-11-11
如何在不同.net版本實(shí)現(xiàn)單點(diǎn)登錄
經(jīng)過研究,重寫實(shí)現(xiàn)了一個可以在不同.net版本中實(shí)現(xiàn)單點(diǎn)登錄的簡單方法?,F(xiàn)在和大家分享一下,不足之處還望見諒2013-07-07
Repeater事件OnItemCommand取得行內(nèi)控件的方法
這篇文章主要介紹了Repeater事件OnItemCommand取得行內(nèi)控件的方法,有需要的朋友可以參考一下2014-01-01

