我读this问题答案解释了在50,000行上使用二级缓存效率不高。
那么NHibernate的第二次缓存有哪些数据量是有帮助的,什么时候不是,甚至会破坏性能?什么时候推荐在NHibernate中使用第二级缓存
例如:如果我有3500名员工(我仍然不这样做......)使用二级缓存会是一件好事吗?
我读this问题答案解释了在50,000行上使用二级缓存效率不高。
那么NHibernate的第二次缓存有哪些数据量是有帮助的,什么时候不是,甚至会破坏性能?什么时候推荐在NHibernate中使用第二级缓存
例如:如果我有3500名员工(我仍然不这样做......)使用二级缓存会是一件好事吗?
您应该主要将其用于“静态”数据。示例是通过购物网站销售机票的业务网站。购物袋,订单和订单是易变的数据。那些没有被缓存。
但是像机场这样的位置数据,以及航空公司的数据和所有不同语言的连接名称都是'静态的'。这些可以被缓存很长时间,并且每次应用程序需要时都不会导致数据库往返运行。
因此,要区分你的静态数据和易失性数据。
什么是缓存,什么不是和多久;总是取决于你的应用程序的使用当然。需要时使用具有不同过期时间的不同缓存区域。
不幸的是,这种问题的答案并不是微不足道的。
当数据读取超过写入数据时,缓存几乎总能提高性能,但唯一可以查看它是否对您的特定情况有所帮助的方法是分析。
此外,它从来都不是一个全有或全无的命题。您可能会受益于缓存某些实体和某些查询。具有不同的生命周期,用法等
如何使用流利NH设置缓存过期? – gdoron 2011-12-28 10:59:28
与xml映射相同;您可以在app.config或web config中定义缓存区域,并在流畅映射中使用缓存区域。 – Hace 2011-12-28 12:56:14