Mybatis
MyBatis缓存机制
https://tech.meituan.com/2018/01/19/mybatis-cache.html
一级缓存
一级缓存配置
如何使用MyBatis一级缓存。开发者只需在MyBatis的配置文件中,添加如下语句,就可以使用一级缓存。共有两个选项,SESSION或者STATEMENT
- 默认是SESSION级别,即在一个MyBatis会话中执行的所有语句,都会共享这一个缓存。
- 另一种是STATEMENT级别,可以理解为缓存只对当前执行的这一个Statement有效。
总结:
MyBatis一级缓存的生命周期和SqlSession一致。
MyBatis一级缓存内部设计简单,只是一个没有容量限定的HashMap,在缓存的功能性上有所欠缺。
MyBatis的一级缓存最大范围是SqlSession内部,有多个SqlSession或者分布式的环境下,数据库写操作会引起脏数据,建议设定缓存级别为Statement。