MyBatis缓存机制
1-一级缓存
失效情况:
- 不同的SqlSession对应着不同的一级缓存
- 同一个SqlSession但是有不同的查询条件
- 同一个SqlSession在查询相同条件时执行了任何一次增删改操作
- 同一个SqlSession在查询相同条件时中间执行了手动清空缓存的操作
2-二级缓存
二级缓存作用在全局作用域,默认不开启,需要手动进行配置;
一个新的会话,会先去查找二级缓存中是否有对应数据,如果没有再发送SQL语句进行查询;
注意:如果SqlSession被关闭后,一级缓存会默认地放置在二级缓存当中;
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/994171f27275fb6d86fa6e8ea0ac8060.jpeg#pic_center)