2013-06-28 68 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");