开关二级缓存commit对查询结果缓存清空问题
老师好,在设置事务手动提交下,不开启二级缓存,使用commit方法两次查询数据库同一条数据返回的对象不一样,也就是说commit方法没有写操作清空了缓存;开启二级缓存,使用commit方法两次查询数据库同一条数据返回的对象一样,也就是说commit方法没有写操作没有清空缓存。
然后二级缓存运行规则有:二级开启后默认所有查询操作均使用缓存。问题1:难道二级没开启所有查询操作就没有使用缓存(一级缓存),这个地方为什么要单独列出来?
写操作commit提交时对该namespace缓存强制清空。--》只是查询commit提交时不会对该namespace缓存强制清空。问题2:查询commit提交对于二级缓存开启和不开启出现不清空和清空该namespace缓存两种清空,怎么理解这种区别?为什么不统一查询commit提交对于二级缓存开启和不开启都不清空该namespace缓存呢,这样不是更好?
19
收起
正在回答 回答被采纳积分+1
1回答
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星