导航

mybatis缓存

Posted on 2022-02-24 10:31  小强404  阅读(30)  评论(0编辑  收藏  举报
 参考:
0
一级缓存loaclCache HashMap的简单封装 sqlsession级别
 
CacheKey相等:
1.mappedStatment的id
2.指定查询结果集的范围
3.查询所用的sql
4.sql的实际参数
 
更新操作会清空一级缓存
 
二级缓存namespace级别,一个mapper映射文件用一个缓存
因此,mapperA中使用关联查询,别的mapper中修改了,此时mapperA不会修改缓存,
解决办法:xml文件使用cache-ref配置
一级二级缓存都是基于本地的,分布式环境必然出现脏读。二级缓存可以实现cache接口集中管理缓存。
除非对性能要求极高,不建议使用缓存