2011-12-27 105 views
1

我读this问题答案解释了在50,000行上使用二级缓存效率不高。
那么NHibernate的第二次缓存有哪些数据量是有帮助的,什么时候不是,甚至会破坏性能?什么时候推荐在NHibernate中使用第二级缓存

例如:如果我有3500名员工(我仍然不这样做......)使用二级缓存会是一件好事吗?

回答

2

您应该主要将其用于“静态”数据。示例是通过购物网站销售机票的业务网站。购物袋,订单和订单是易变的数据。那些没有被缓存。

但是像机场这样的位置数据,以及航空公司的数据和所有不同语言的连接名称都是'静态的'。这些可以被缓存很长时间,并且每次应用程序需要时都不会导致数据库往返运行。

因此,要区分你的静态数据和易失性数据。

什么是缓存,什么不是和多久;总是取决于你的应用程序的使用当然。需要时使用具有不同过期时间的不同缓存区域。

+0

如何使用流利NH设置缓存过期? – gdoron 2011-12-28 10:59:28

+0

与xml映射相同;您可以在app.config或web config中定义缓存区域,并在流畅映射中使用缓存区域。 – Hace 2011-12-28 12:56:14

1

不幸的是,这种问题的答案并不是微不足道的。

当数据读取超过写入数据时,缓存几乎总能提高性能,但唯一可以查看它是否对您的特定情况有所帮助的方法是分析。

此外,它从来都不是一个全有或全无的命题。您可能会受益于缓存某些实体和某些查询。具有不同的生命周期,用法等

相关问题