在asp.net中缓存
我想在我的asp.net-mvc网站中缓存我的大部分数据库繁重的操作。 在我的研究中,我发现了
但我觉得我还没有得到它。
我希望能够缓存我的POST请求取决于几个部分。 这些语法在一个对象中。 所以我想缓存下面的请求的结果:
public ActionResult AdvancedSearch(SearchBag searchBag)
searchBag是一个可以包含(一堆)可选搜索参数的对象。 我的看法本身很轻(应该是这样),但数据访问可能相当耗时,取决于搜索包中填入的字段。
我有感觉我应该缓存在我的数据层上,而不是在我的操作上。
我该如何在OutputCache属性中使用VaryByParam?
我也喜欢在模型或数据层中缓存。 这隔离了从控制器/演示中检索数据所做的一切。 您可以从System.Web.HttpContext.Current.Cache
访问ASP.NET缓存或使用企业库中的缓存应用程序块。 为查询的参数创建缓存数据的密钥。 更新数据时一定要使缓存失效。
或者您可以独立于HttpRuntime.Cache的HttpContext.Current和访问缓存:)
通常,OutputCaching可以是最快和最有效的,但只有当它满足您的要求时才是如此。 没有意义的是,如果它错了,快速高效! ;)
在这种情况下,听起来像数据层的缓存是正确的,因为你有复杂的缓存需求。 有时,如果控制输出缓存的参数集简单,则可以将两者结合起来。
链接地址: http://www.djcxy.com/p/55691.html上一篇: Caching in asp.net