1
6
在对这两个模块进行了一些测试之后,我在代码的上下文中对缓存应用程序块进行了全面的回顾,并在博客中介绍了我的使用经验。它的使用非常简单,功能强大,足以满足我们的需要。我推荐它, my results were blogged here . 在您的位置上,我将使用Repository模式来维护我的缓存,它对数据库数据集很有效,并且对您自己的缓存也同样有效。如果您不熟悉存储库模式, check out this post from Steven Walther. . 然而,我倾向于不同意前面的答案,只去掉你需要修改的项目,其余的则保持不变。如果您愿意,这将允许您独立于整个列表终止缓存中的项目。 |
2
2
有几种实现缓存的方法,httpcontext是最简单的一种,但不一定是最差的。看看 memcached 或 MS Velocity ,两者都可以用作ASP.NET缓存的后端。尤其是memcached,它的工作非常出色。 至于缓存策略:您必须决定什么最适合您。我个人会在更新/删除时从缓存中删除完整的列表,而不是试图找出实体是否在列表中,因为这需要花费大量时间,您需要考虑并发问题(锁定列表,因为有人可能会更新/删除另一个实体)。 有时就地更新实体是有意义的(如果您有一个包含所有所需数据的完整对象),有时这是浪费时间,因为由于某些状态更改,实体应该移动到其他地方(例如,当您按LastChangedDate排序时等)
|
3
0
只需使用[OutputCache(Duration=10,VaryByParam=“none”)] 在要缓存的每个操作甚至控制器上。 |
tincho87 · 避免Javascript/Css缓存 6 年前 |
Zac · 如何强制客户端重新下载我的网站? 6 年前 |
Kumar · bitbake清理使用只读NFS SSTATE缓存失败 6 年前 |
Chris Williams · 休眠/JPA缓存查找值 6 年前 |
Nymeria · 仅绑定到当前事务的Spring缓存 6 年前 |