`
newleague
  • 浏览: 1504978 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Hibernate中缓存的统计策略-generate_statistics

阅读更多

   在Hibernate程序中如果配置了二级缓存,想查看一下二级缓存中存放的数据条数,查询时错过的数据条数,缓存命中率等信息,那么该怎么办呢?

        在Hibernate的hibernate.cfg.xml文件中,提供了hibernate.generate_statistics属性,该属性提供了Hibernate应用中操作的统计信息,必须在hibernate.cfg.xml文件中进行配置。该属性在配置文件中的默认值是关闭的,因为它会消耗一些资源,但是它很适合在我们开发过程中调试程序时使用。hibernate.cfg.xml文件中的配置如下:

        <property name="generate_statistics">true</property/>

        这时我们已经将Hibernate的统计信息打开了,接下来我们应该怎样使用它呢?

        在org.hibernate.SessionFactory类中提供了一个得到统计信息的方法,该方法返回一个Statistic类型的数据。之后我们通过Statistics对象取出数据操作时的缓存信息。它提供了取出全部统计信息和取出指定缓存的统计信息,例如:我们就想查看二级缓存中的统计信息,那么可以通过方法指定。例如:我们添加一条数据,该方法是addPet(),将该方法放到main()方法中测试,如下:

        addPet()方法的实现:

 public void addPet(){
  // 创建一个Hibernate Configuration类的实例
  Configuration config = new Configuration().configure() ;
  // 创建SessionFactory对象
  SessionFactory sf = config.buildSessionFactory() ;
  // 调用调添加方法                                                                                                                                                   
  PetDaoImpl petImpl = new PetDaoImpl();

  petImpl.add();

  // 创建Statistics对象,并通过SessionFactory对象获得统计信息
  Statistics st =  sf.getStatistics();
  // 打印全部统计信息
  System.out.println(st);
  // 打印二级缓存信息
  
System.out.println(st.getSecondLevelCacheHitCount());
 }

         将addPet()方法添加到main()方法中进行测试,将会输出统计信息。

分享到:
评论

相关推荐

    Hibernate参数设置一览表

    14. **hibernate.generate_statistics** 是否收集统计信息,用于性能分析,设为`true`后,可通过SessionFactory获取统计信息。 以上是Hibernate配置中的一些核心参数,根据实际项目需求,可能还需要配置其他参数,...

    Hibernate配置文件

    - `hibernate.generate_statistics`: 是否开启统计信息收集,有助于分析应用性能。 在实际项目中,`hibernate.cfg.xml`可能包含更多定制化的设置,例如JNDI数据源配置、C3P0连接池设置等。理解并熟练配置这些参数...

    Hibernate 参数设置一览表.doc

    10. **hibernate.generate_statistics**:如果开启,Hibernate会收集统计信息以帮助优化性能。这些信息可以提供关于查询效率、缓存使用等的洞察。 11. **hibernate.use_identifier_rollback**:如果设置为`true`,...

    hibernate配置参数详解

    10. **`hibernate.generate_statistics`**: 是否生成统计信息。 ```properties hibernate.generate_statistics=true ``` 开启后,Hibernate会在运行时收集一些统计信息,如查询次数、缓存命中率等,有助于监控和...

    Hibernate 参数设置一览表(强烈推荐)

    14. **hibernate.generate_statistics**:开启统计信息收集,有助于分析应用性能。 15. **hibernate.id.new_generator_mappings**:当设置为`true`时,使用新的ID生成策略,默认从Hibernate 5开始启用。 16. **...

    BLOG上的文章2.doc

    10. `hibernate.generate_statistics`: 当设置为`true`,Hibernate会收集性能统计信息,有助于分析和优化应用性能。 11. `hibernate.use_identifier_rollback`: 如果开启,删除对象时,其标识属性将重置为...

    JSP 开发之hibernate配置二级缓存的方法

    &lt;property name="hibernate.generate_statistics"&gt;true ``` 以上就是配置Hibernate二级缓存的基本步骤。正确配置并使用二级缓存,可以大大提高JSP应用的性能,减少数据库负载,提高用户体验。需要注意的是,虽然二...

    详解spring boot集成ehcache 2.x 用于hibernate二级缓存

    1. 打开 Hibernate 统计信息:spring.jpa.properties.hibernate.generate_statistics=true 2. 打开二级缓存:spring.jpa.properties.hibernate.cache.use_second_level_cache=true 3. 打开查询缓存:spring.jpa....

    加速你的Hibernate引擎

    开启hibernate.generate.statistics可获取统计信息,帮助分析实体、集合、会话和二级缓存的行为。 此外,文章还提到了监控SQL生成以揭示潜在性能问题,以及利用Hibernate统计信息进行诊断。不过,由于篇幅限制,...

    web开发中添加数据源实现思路

    &lt;prop key="hibernate.generate_statistics"&gt;true &lt;prop key="hibernate.autoReconnect"&gt;true &lt;prop key="hibernate.connection.release_mode"&gt;auto &lt;prop key="hibernate.cache.provider_class"&gt;org.hibernate....

Global site tag (gtag.js) - Google Analytics