我读了this问题解答,解释说在50,000行上使用二级缓存效率不高 那么NHibernate第二个缓存的数据量是多少有用的呢?当它不是甚至破坏性能时?
例如:如果我有3,500名员工(我仍然没有......)使用二级缓存会是一件好事吗?
答案 0 :(得分:2)
您应该主要将它用于“静态”数据。示例是通过购物网站销售机票的公司。购物袋,订单和订单行是易变数据。那些没有缓存。
但是,机场等位置数据,以及不同语言的航空公司数据和所有连接名称都是“静态的”。这些可以缓存很长时间,并且每次你的应用程序需要时都会导致数据库往返。
因此,要区分静态和易失性数据。
什么是缓存,什么不是,多久;当然,这取决于您的应用程序的使用情况。在需要时使用具有不同过期时间的不同缓存区域。
答案 1 :(得分:1)
不幸的是,这类问题的答案并非微不足道。
当读取的数据多于写入数据时,缓存几乎总能提高您的性能,但是查看它是否对您的特定情况有帮助的唯一方法是分析。
此外,它从来都不是一个全有或全无的主张。您可能会受益于缓存某些实体和某些查询。具有不同的生命周期,用法等。