2009-12-14 365 views

回答

1

我不知道我理解的問題,但我會盡力。所有緩存都是存儲數據的「便宜」地方。我說便宜意味着訪問速度比「昂貴」的位置快。例如,您可能將數據從驅動器上的文件(昂貴,緩慢)緩存到內存(便宜,快速),以便快速訪問。那是你問的嗎?

+0

Cory Charlton先生它與硬件有關,但我想要在編程端的asp.net中緩存 – 2009-12-14 04:25:23

+0

其實這就是一般的緩存。您也可以使用緩存來存儲「昂貴」的數據進行計算。例如,如果您必須在數據集上運行計算,5分鐘後收到結果,則可以將數據緩存到臨時存儲位置,以便下次可以「便宜」地檢索它。也許這將有助於:http://en.wikipedia.org/wiki/Cache – 2009-12-14 04:30:54

+0

緩存是一個數據集合,用於複製其他地方存儲的或之前計算的原始數據,其中原始數據的獲取成本很高(由於訪問時間較長)或來計算,與讀取緩存的成本相比。換句話說,高速緩存作爲臨時存儲區域運行,在該區域中可以存儲經常訪問的數據以便快速訪問。一旦數據存儲在緩存中,將來可以通過訪問緩存副本而不是重新獲取或重新計算原始數據來使用它。 – 2009-12-14 04:31:33

1

對於ASP.Net應用程序而言,緩存可以採用許多不同的含義,即將ASP.Net應用程序從瀏覽器一直傳播到硬件,同時在中間引發IIS,應用程序和數據庫。

我想你不想知道應用程序和會話緩存。 您還可以在IIS級別(在IIS 7中)和ASP.Net級別使用輸出緩存來緩存Web應用程序層。這兩個緩存是您可以控制得最多的緩存,並且給您提供了很多好處,同時使用起來也很簡單。

另一方面是內存分佈式緩存系統。除了memcache和Appfabric(速度),還有像NCache或Oracle Coherence這樣的商業解決方案。這種緩存級別以更低的成本承諾可擴展性。擴展數據庫層與此相比是昂貴的。儘管你可能不得不考慮網絡帶寬等方面。這種類型的緩存,特別是失效和失效可能很複雜。

然後在客戶端Web代理層進行緩存,可以通過緩存控制HTTP標頭進行控制。

最後,您可以使用瀏覽器級緩存,查看小數據的狀態和Cookie。

緩存在數據庫級別或SAN等基礎架構層對於您的應用程序是透明的。

1

在ASP.NET緩存可以爲你 包括@Outputdirective在你的頁面的網頁

  • 緩存整個響應內容

Link1

你可以做到這一點編程方式使用 Response.Cache.SetExpires(DateTime.Now。AddSeconds(120));

您可以通過使用OutputCache指令在Usercontrol

緩存頁面的一部分「一旦啓用了輸出緩存,爲 頁面初始HTTP GET請求放置在輸出緩存的動態內容的時間量 指定輸出緩存滿足後續的GET,HEAD或POST請求 該頁面,直到指定的時間到期爲止。 MSDN

  • 緩存應用程序數據 在其最簡單的可以: 緩存[ 「鍵」] = DateTime.Now.ToString(); //或數據集

檢索 string cachedValue =(string)Cache [「key」]; 刪除 Cache.Remove(「key」);

Adding Items to the Cache

Retrieving Values of Cached Items

緩存是每個應用域中創建,而不是特定的用戶。高速緩存可輕鬆提高性能達30%。

有用SO鏈接

Caching Usercontrol

Caching

Cache vs Session

Output caching

+0

謝謝Mr.PRR爲例謝謝 – 2009-12-14 08:45:56