1. 一级缓存
缓存:提升效率的,针对访问量大,但是改变频次不高的数据,可以做缓存
原理:
一级缓存是线程级别的/事物级别的/sqlsession级别。
私家车,不能与
mybatis的一级缓存就是在被SqlSession对象中的一个Map,默认是开启的,执行sql语句执行查询是先到Map中查找,查找不到再去数据库查询结果,并将查询到的结果封装到Map中一份,能查找到直接返回对象。
一级缓存:提升效率,间接处理了数据库中的不可重复读和幻读。
2. 二级缓存
二级缓存是全局的,每个用户可以共享
公交车,共享单车
mybatis的二级缓存是存在sqlSessionFactory工厂中的。
二级缓存的总开关默认是开启的,mapper是关闭的
只要是使用的一个namespace就使用的是一个二级缓存。
https://www.cnblogs.com/yuluoxingkong/p/8205858.html