我是否应该考虑使用 ASP.NET 缓存在 NHibernate 2 级缓存之上缓存查询结果以提高性能?
问问题
760 次
1 回答
0
我认为 NHibernate 二级缓存就足够了。通过使用 asp.net 缓存来缓存相同的查询结果,不需要额外的开销。但是,如果您需要终极性能,您可以使用IIS 内核缓存(本机输出缓存)缓存您呈现的页面和控件。我还建议您使用NHibernate Profiler来分析您的应用程序。它将显示缓存未命中和许多关于您的查询的有用信息以及一些好的建议。
编辑:
NHibernate.SysCache2 使用 ASP.NET 缓存,它有点慢,因为它支持基于 SQL 依赖的过期,这意味着可以将某些缓存区域配置为在数据库中的相关数据更改时自动过期。
您也可以尝试缓存您的 ViewModel。但是,如果您可以缓存它们,那么您也可以缓存生成的视图,这会更好更快。这篇文章可能对你有帮助 - http://haacked.com/archive/2009/05/12/donut-hole-caching.aspx
于 2010-02-26T16:26:04.867 回答