以前實(shí)現(xiàn)數(shù)據(jù)的緩存有很多種方法,有客戶端的Cookie,有服務(wù)器端的Session和Application。其中Cookie是保存在客戶端的一組數(shù)據(jù),主要用來保存用戶名等個(gè)人信息。Session則保存對(duì)話信息。Application則是保存在整個(gè)應(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í)間來判斷緩存數(shù)據(jù)是否有效。
(2)即使應(yīng)用程序終止,只要Cache.Add方法中定義的緩存時(shí)間未過期,下次開啟應(yīng)用程序時(shí),緩存的數(shù)據(jù)依然存在。而Session緩存只是存在于一次會(huì)話中,會(huì)話結(jié)束后,數(shù)據(jù)也就失效了。
(3)Session容易丟失,導(dǎo)致數(shù)據(jù)的不確定性,而Cache不會(huì)出現(xiàn)這種情況。
(4)由于Session是每次會(huì)話就被加載,所以不適宜存放大量信息,否則會(huì)導(dǎo)致服務(wù)器的性能降低。而Cache則主要用來保存大容量信息,如數(shù)據(jù)庫中的多個(gè)表。
(5)VS2005的測(cè)試版提供了將緩存保存在硬盤上的參數(shù),但正式版中取消了這個(gè)功能,估計(jì)其在以后版本中會(huì)重新實(shí)現(xiàn)。而Session目前只能保存在內(nèi)存中,對(duì)其性能有影響。
您可能感興趣的文章:- ASP.NET購物車實(shí)現(xiàn)過程詳解
- asp.net 購物車的實(shí)現(xiàn)淺析
- asp.net 購物車實(shí)現(xiàn)詳細(xì)代碼
- asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法
- 實(shí)現(xiàn)Asp與Asp.Net共享Session的方法
- ASP.NET 使用application與session對(duì)象寫的簡(jiǎn)單聊天室程序
- jsp和asp.net共享session值示例代碼
- ASP.NET將Session保存到數(shù)據(jù)庫中的方法
- asp.net基于session實(shí)現(xiàn)購物車的方法