fab*_*474 12 orm grails logging hibernate second-level-cache
目前,为了检查Hibernate二级缓存是否用于数据库查询,我检查我的SQL日志(通过datasource.groovy中的p6spy或logSql = true)来查看Grais/Hibernate是否触发了SQL查询.我假设如果未记录查询,则可能意味着使用了缓存.
对于简单的信息来说这很复杂,不是吗?
那么您是否知道获取和记录信息的简单方法:"使用缓存与触发数据库查询"?
编辑:遵循Pascal建议,我已将此添加trace 'org.hibernate.cache'到我的log4j配置中.
简短的回答是,当启用查询日志记录时,将记录每个查询.
通过SessionFactory.getStatistics()和提供各种统计数据Session.getStatistics().SessionStatistics上不提供查询执行和查询缓存命中和未命中计数.
在测试环境中,你没有并发会话,你可以进行两次您的缓存查询和断言,双方SessionStatistics.getQueryCacheHitCount()并SessionStatistics.getQueryExecutionCount()仅增加了1.
在Hibernate的探查最有效地提供所有这些统计数据和日志.
您可以激活org.hibernate.cache 类别以记录所有二级缓存活动.为此(根据Grails 常见问题解答),编辑您的Config.groovy文件.找到以下行:
hibernate = "off"
Run Code Online (Sandbox Code Playgroud)
并替换为:
hibernate.cache = "trace,stdout"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10549 次 |
| 最近记录: |