我想在我的asp.net-mvc网站中缓存最重的数据库操作。 在研究过程中,我找到了以下资源:
- Phil's博客上的donut caching
- Kazi's博客上的Caching/compressing filters
- Scott Hansleman的播客有关于他们在SO中如何缓存东西。
但我觉得我还没有完全理解。 我希望能够根据多个参数来缓存我的POST请求。这些参数都包含在一个对象中,因此我想缓存以下请求的结果:
public ActionResult AdvancedSearch(SearchBag searchBag)
搜索包(searchBag)是一个保存(一堆)可选搜索参数的对象。 我的视图本身很轻量级(应该如此),但数据访问可能会非常耗时,具体取决于在搜索包中填充了哪些字段。
我有一种感觉,应该在数据层上进行缓存,而不是在操作上进行缓存。 我应该如何在OutputCache属性中使用VaryByParam?