2011-01-29 62 views

回答

1

這些是兩個不同的概念與不同的目的(儘管他們的實現可能共享一些共同的基礎設施)。

緩存的目的是通過消除請求之間冗餘服務器端處理的需要來提高性能。緩存可以發生在數據庫級別(例如通過存儲查詢結果),頁面級別(通過存儲完全呈現的HTML頁面)或頁面組件級別(通過存儲HTML片段)。緩存也可以是特定於用戶和其他參數的。服務股票投資組合的應用程序可能會緩存其每個用戶的頁面,以便一個用戶不會意外地從緩存中服務於另一個人的投資組合。

會話變量的目的是爲Web應用程序添加狀態(HTTP協議本質上是無狀態的,並且沒有其他方式可以在請求之間保持數據)。

1

緩存是一個涵蓋許多可能的實現和選項的通用術語。

一個這樣的實現是IIS中的Session變量,其中的附加約束是用戶特定的(或用戶會話特定的)。

其他實現可以是Application變量,瀏覽器緩存,緩存代理服務器,位於應用程序服務器和數據庫之間的特殊緩存軟件,甚至CDN(內容交付網絡)。

查看維基百科有關cache的文章。

1

如果通過緩存你特別提到了System.Web.Cache類,那麼這個和Session之間的關鍵區別在於Cache對應用程序是全局的,而Session是特定於用戶的。

相關問題