2013-04-25 194 views
1

我有一個應用程序,併爲它緩存了幾個數據(.net緩存)。通常這個應用程序使用2或3個實例運行。在實例之間共享緩存

每當創建新的實例來處理請求時,內存使用量就會變成兩倍。我想知道如果每個新的實例創建它自己的緩存。

這是真的嗎?如果是,有沒有辦法在同一個應用程序的實例之間共享緩存?

在此先感謝您分享寶貴的知識!

編輯:

C#語言 請參閱下面的例子中,我們如何緩存:

System.Web.HttpContext ctx 
      = System.Web.HttpContext.Current; 
    ctx.Cache.Insert("siteViewModel", siteViewModel, null, 
DateTime.Now.AddHours(Int32.Parse(siteViewModel.ApplicationSettings["dtoCacheDurationHours"])), System.Web.Caching.Cache.NoSlidingExpiration, 
       System.Web.Caching.CacheItemPriority.Default, OnCachedItemRemoved); 
+0

我們有類似的要求,但我不知道這是否是適合您的情況,但我們使用Web服務來緩存數據(與安全機制),還有其他的選擇比如直接訪問一個memcache服務器(這是我們web服務的後面)或類似的東西,或者保持簡單並使用應用程序變量?您能否提供更多關於架構及其使用環境的信息? – 2013-04-25 15:13:48

+0

你稱之爲「實例」是什麼?您的應用程序是否以webfarm模式運行? – tucaz 2013-04-25 17:49:06

回答

0

首先我需要告訴你不能在多個實例之間使用緩存。 您還可以使用Windows Azure緩存系統在整個應用程序中共享緩存,並且可以使用RESTful方式輕鬆使用它。

相關問題