mybatis二级缓存

配置:1.xml里面使用cache标签  2.useCache设置true  3.开启mybatis二级缓存属性设置true.
我这里是用的
    <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1</version>
        </dependency>
这连个版本进行的分析,各版本略有差异,整体逻辑都是一样的

 

 

 

2.查询执行流程:

 

 

3.获取缓存流程  tcm就是存放二级缓存的地方  主要用到MybatisCachingExecutor 里面的private final TransactionalCacheManager tcm = new TransactionalCacheManager()进行缓存,查询用到的试试MybatisCachingExecutor::query()方法

 

2.3的整体流程是
    1、创建一级缓存的CacheKey
    2、获取二级缓存
    3、如果没有获取到二级缓存则执行被包装的Executor对象中的query方法,此时会走一级缓存中的流程。
    4、查询到结果之后将结果进行缓存。

 

 

4.压测结果:二级缓存命中

 

 

posted @ 2022-01-18 20:45  余生请多指教ANT  阅读(58)  评论(0编辑  收藏  举报