2013-06-28 88 views
6

在我正在處理的ASP.NET MVC應用程序中,存在大量的靜態數據(在運行時沒有更新/插入到此表中),我需要通過分組通過不同的列或總結和聚合,數學運算非常簡單。.NET的緩存框架

現在有很多調用發佈到存儲庫,這會降低控制器的響應速度。能否請您提出一個很好的緩存框架,讓我緩存庫調用(用相同的輸入參數),而無需編寫自定義代碼

回答

5

Memorycache簡單地只需添加到您的資料庫

但要記住適合你的情況:

MemoryCache類與ASP.NET Cache類相似。如果您已使用ASP.NET緩存類,則MemoryCache類具有訪問緩存的許多屬性和方法,這些緩存將爲您所熟悉。 Cache和MemoryCache類之間的主要區別在於MemoryCache類已更改爲使其可用於非ASP.NET應用程序的.NET Framework應用程序。例如,MemoryCache類對System.Web程序集沒有依賴性。另一個區別是,您可以創建MemoryCache類的多個實例,以用於相同的應用程序和相同的AppDomain實例中。

1

CacheManager

的CacheManager爲.NET C#編寫的一個開源緩存框架並且可通過的NuGet。它支持各種緩存提供程序並實現許多高級功能。

簡單開始..

var cache = CacheFactory.Build<string>(
    p => p.WithSystemRuntimeCacheHandle()); 

易於使用...

cache.AddOrUpdate("key", "region", "value", _ => "update value"); 
cache.Expire("key", "region", TimeSpan.FromMinutes(1)); 
var val = cache.Get("key", "region"); 
var item = cache.GetCacheItem("key", "region"); 
cache.Put("key", "put value");