9

我在使用 ASP.NET MVC 框架方面相当陌生,并希望在缓存 MVC Web 应用程序的各个部分时能找到一些关于最佳实践的帮助。我知道堆栈溢出使用 MVC 和一些非常棒的缓存技术,而且它的 MILES 比我的应用程序快,即使在本地运行时也是如此。

我有几个问题。

  1. 缓存实际上是如何工作的,您如何“启用”它,以及各种选项是什么。最好使用哪种缓存?

  2. 我的应用程序有很多数据库事务,经常更改的列表。我担心页面刷新的及时性,因为用户没有获得最新版本的数据。在 Web 应用程序速度和显示“最新”数据之间取得平衡的最佳方法是什么?你们在处理这个问题时发现了哪些最佳实践?

  3. 如何使用不同的缓存设置缓存不同的部分(我假设视图)?我认为它可以用子控制器来完成,但我有 NFI 如何去做这件事。

  4. 我正在使用 Castle.Windor 与控制器的集成,我不确定这是否会改变任何东西。

  5. 任何其他需要注意/小心的注意事项的最佳实践将不胜感激。

4

3 回答 3

3

您可能想查看Phil Haack 的帖子,了解一些甜甜圈缓存。他是 ASP.NET MVC 的参考 :)

于 2009-02-09T01:47:01.410 回答
2

从“最佳实践”的角度来看,您需要考虑在任何使用缓存的应用程序中必须考虑的相同事项。

  • 流量是否足以从缓存中受益?
  • 特定数据多久更改一次?时效性有多重要?
  • 我是否拥有数据访问层?如果是这样,我可以通过实际更改数据来触发缓存中的刷新并避免基于时间的过期吗?

而这样的例子不胜枚举。

于 2009-02-09T02:18:58.010 回答
1

您可以使用 OutputCache 属性轻松缓存视图。我也使用 nHibernate 缓存机制缓存任何不经常更新的列表。

于 2009-02-09T01:40:32.860 回答