【发布时间】:2011-12-21 04:28:28
【问题描述】:
我是休眠缓存区的新手。
- 检查缓存是否真的有效的最简单方法是什么?
- 当缓存开启时,hibernate 是否生成相同的 sql 语句?
- 是否应该是文件系统中存储数据的任何文件夹/文件(二级缓存)?
- 如何查看当前使用了多少缓存?
问候, 马辛
【问题讨论】:
我是休眠缓存区的新手。
问候, 马辛
【问题讨论】:
您可以启用Hibernate statistics generation 将hibernate.generate_statistics 属性设置为true。然后您可以通过SessionFactory.getStatistics() 监控缓存命中/未命中计数。
此外,启用 SQL 日志记录后,您可以通过特定 SQL 查询的存在或不存在来分析缓存行为。
这取决于许多因素。见21.2. The Second Level Cache和21.4. The Query Cache
这取决于缓存提供程序及其配置。例如,EhCache 可以配置为溢出到磁盘。
SessionFactory.getStatistics().getSecondLevelCacheStatistics() 提供此信息。
【讨论】:
我发现 nice tool 使用 vizuliaze hibernate (也是缓存)。 另外在这些articles (here is part one) 中有很好的解释休眠缓存是如何工作的(另见相关链接)。 还有一个很好的分析步骤示例。
无论如何感谢您的回答。
【讨论】: