C# 建议何时在NHibernate中使用二级缓存
我阅读了问题答案,解释了在50000行上使用二级缓存的效率不高。C# 建议何时在NHibernate中使用二级缓存,c#,.net,performance,nhibernate,C#,.net,Performance,Nhibernate,我阅读了问题答案,解释了在50000行上使用二级缓存的效率不高。 那么,NHibernate第二次缓存的数据量在哪些方面是有帮助的,而在哪些方面是没有帮助的,甚至会破坏性能 例如:如果我有3500名员工(我仍然没有…),使用二级缓存是否是一件好事?您应该主要将其用于“静态”数据。例如,一个通过购物网站销售机票的网站。购物袋、订单和订单行是不稳定的数据。这些不是缓存的 但是像机场这样的位置数据、航空公司数据以及所有不同语言的连接名称都是“静态的”。这些可以缓存很长时间,并且不会在每次应用程序需要时
那么,NHibernate第二次缓存的数据量在哪些方面是有帮助的,而在哪些方面是没有帮助的,甚至会破坏性能
例如:如果我有3500名员工(我仍然没有…),使用二级缓存是否是一件好事?您应该主要将其用于“静态”数据。例如,一个通过购物网站销售机票的网站。购物袋、订单和订单行是不稳定的数据。这些不是缓存的 但是像机场这样的位置数据、航空公司数据以及所有不同语言的连接名称都是“静态的”。这些可以缓存很长时间,并且不会在每次应用程序需要时导致数据库往返 因此,区分静态数据和易失性数据
究竟要缓存什么、不缓存什么以及缓存多长时间;当然,始终取决于应用程序的使用情况。在需要时使用不同的缓存区域和不同的过期时间。您应该主要将其用于“静态”数据。例如,一个通过购物网站销售机票的网站。购物袋、订单和订单行是不稳定的数据。这些不是缓存的 但是像机场这样的位置数据、航空公司数据以及所有不同语言的连接名称都是“静态的”。这些可以缓存很长时间,并且不会在每次应用程序需要时导致数据库往返 因此,区分静态数据和易失性数据
究竟要缓存什么、不缓存什么以及缓存多长时间;当然,始终取决于应用程序的使用情况。在需要时使用不同的缓存区域,并使用不同的过期时间。不幸的是,这类问题的答案并不简单 当数据读得比写得多时,缓存几乎总是会提高性能,但要想知道它在特定情况下是否有用,唯一的方法是分析
而且,这从来不是一个全有或全无的命题。您可能会从缓存某些实体和查询中获益。不同的生命周期、用法等。不幸的是,这类问题的答案并不简单 当数据读得比写得多时,缓存几乎总是会提高性能,但要想知道它在特定情况下是否有用,唯一的方法是分析
而且,这从来不是一个全有或全无的命题。您可能会从缓存某些实体和查询中获益。使用不同的生命周期、用法等。如何使用fluent NH设置缓存过期?与xml映射相同;您可以在app.config或web config中定义缓存区域及其experation,并在fluent映射中使用缓存区域。如何使用fluent NH设置缓存过期?与xml映射相同;在app.config或web config中定义缓存区域及其经验,并在fluent映射中使用缓存区域。