什么时候建议在NHibernate中使用二级缓存

时间:2011-12-27 18:40:08

标签: c# .net performance nhibernate

我读了this问题解答,解释说在50,000行上使用二级缓存效率不高 那么NHibernate第二个缓存的数据量是多少有用的呢?当它不是甚至破坏性能时?

例如:如果我有3,500名员工(我仍然没有......)使用二级缓存会是一件好事吗?

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:1)

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

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

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