MyBatis之一级缓存及其一级缓存失效

定义:

一级缓存:本地缓存:与数据库同一次会话(sqlSession)期间查询到的数据会放在本地缓存中,如果以后要获取相同的数据直接从缓存中获取,不会再次向数据库查询数据
一个SqlSession拥有一个一级缓存
myBatis一直开启一级缓存,不同的SqlSession级别的缓存,数据不可以共用

一级缓存失效情况:(没有使用当前一级缓存的情况,如果没有使用,效果就是第二次查询相同的语句还需向数据库发送sql)
1.sqlSession不同
2.当sqlSession对象相同的时候,查询的条件不同,,原因是第一次查询时候一级缓存中没有第二次查询所需要的数据
3.当sqlSession对象相同,两次查询之间进行了插入的操作
4.当sqlSession对象相同,手动清除了一级缓存中的数据

猜你喜欢

转载自www.cnblogs.com/luyuan-chen/p/11628817.html