清空二级缓存问题
1、在课程第2个例子中,17分30秒,2次会话通过二级缓存获取数据,没有问题,
2、但是,如果在第1次会话的查询后面增加一句commit()方法,再次执行,发现并没有清空二级缓存,两次会话的查询仍然共用一个hashCode
所以commit()方法是只清空一级缓存,还是一级二级缓存都清空?
13
收起
正在回答
1回答
同学你好,commit() 方法的行为是提交当前事务中的所有更改到数据库,并清空一级缓存(Session 缓存),所以不会清除二级缓存。二级缓存的设计目的是跨多个会话(Session)共享缓存数据,以提高查询性能。因此,即使调用了 commit() 方法,也不会影响到其他会话中可能已经缓存的查询结果。
祝学习愉快!
Java工程师 2024版
- 参与学习 2020 人
- 提交作业 1249 份
- 解答问题 1202 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星