学习笔记——Mybatis中缓存机制

学习笔记——Mybatis中缓存机制

2023-01-12

一、Mybatis中缓存机制

1、一级缓存

(1)概述:一级缓存(即本地缓存或SqlSession级别缓存)

(2)特点:

①一级缓存默认开启

②不能关闭

③可以清空

(3)缓存原理

①当第一次获取数据时,需要先从数据库中加载数据,将数据缓冲到Mybatis一级缓存中(缓存底层实现原理是Map,key:hashCode+查询的SqlId+编写的sql查询语句+参数)

②以后再次获取数据时,先从一级缓存中获取,如未获取到数据,再从数据库中获取数据

(4)一级缓存五种失效情况

①不同的SqlSession对应不同的一级缓存(例如:将第一次查询的sqlSession关闭了,之后开启一个新的sqlSession)

②同一个sqlSession但是查询条件不同

③同一个sqlSession两次查询期间执行了任何一次增删改查操作

④同一个sqlSession两次查询期间手动清空了缓存

⑤同一个sqlSession两次查询期间提交了事务

2、二级缓存

(1)二级缓存概述

(1)二级缓存(即全局作用域缓存)

(2)SqlSessionFactory级别缓存

(2)二级缓存的特点

①二级缓存默认关闭,需要开启时才能使用

②二级缓存需要提交sqlSession或关闭sqlSession时,才会缓存

(3)二级缓存使用的步骤

①全局配置文件中开启二级缓存

<setting name="cacheEnabled" value="true"></setting>
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 学习笔记——Mybatis中缓存机制