Rik*_*iki 4 caching hibernate second-level-cache
我使用@Cache批注在我的应用程序中定义了二级缓存
我正在使用findById查询,如下所示:
long id = 4;
Company cmp = companyDAO.findById(id);
Run Code Online (Sandbox Code Playgroud)
公司是我从DB获得的对象.
如何检查公司对象是来自数据库还是来自缓存?
尝试HitCount 和/或 MissCount API。
像这样的东西......
int oldMissCount = sessionFactory.getStatistics().getSecondLevelCacheStatistics(rName).getMissCount();
int oldHitCount = sessionFactory.getStatistics().getSecondLevelCacheStatistics(rName).getHitCount();
long id = 4;
Company cmp = companyDAO.findById(id);
int newMissCount = sessionFactory.getStatistics().getSecondLevelCacheStatistics(rName).getMissCount();
int newHitCount = sessionFactory.getStatistics().getSecondLevelCacheStatistics(rName).getHitCount();
if(oldHitCount+1 == newHitCount && oldMissCount+1 == newMissCount) {
logger.debug("came from DB");
} else if(oldHitCount+1 == newHitCount && oldMissCount == newMissCount) {
logger.debug("came from cache");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5615 次 |
| 最近记录: |