MybatisPlus开启、关闭二级缓存方法

时间:2022-01-15 03:52:15

一、开启MybatisPlus的全局配置:

?
1
2
3
#二级缓存
mybatis-plus.global-config.configuration.map-underscore-to-camel-case= true
mybatis-plus.global-config.configuration.cache-enabled=true

二、在对应的xml文件中,添加配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.TableMapper">
          
        <!-- 开启二级缓存,以下是各参数解释: -->
        <!--1. eviction:缓存回收策略:• 默认的是 LRU。
     LRU – 最近最少使用的:移除最长时间不被使用的对象。
    FIFO – 先进先出:按对象进入缓存的顺序来移除它们。
    SOFT – 软引用:移除基于垃圾回收器状态和软引用规则的对象。
    WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象。
   2. flushInterval:刷新间隔,单位毫秒
    默认情况是不设置,也就是没有刷新间隔,缓存仅仅调用语句时刷新
   3. size:引用数目,正整数
    代表缓存最多可以存储多少个对象,太大容易导致内存溢出
   4. readOnly:只读,true/false
                true:只读缓存;会给所有调用者返回缓存对象的相同实例。因此这些对象不能被修改。这提供了很重要的性能优势。
    false:读写缓存;会返回缓存对象的拷贝(通过序列化)。这会慢一些,但是安全,因此默认是 false。
-->
        <cache eviction="FIFO" flushInterval="60000" size="1024" readOnly="true" />
        
</mapper>

三、如果有写接口无需二级缓存,可在对应的地方添加:useCache=“false”

?
1
2
3
<select id="getCount" resultType="int" useCache="false">
       select count(1) from table
</select>

注意:添加二级缓存的xml,对应的entity需要实现Serializable接口

到此这篇关于MybatisPlus开启、关闭二级缓存方法的文章就介绍到这了,更多相关MybatisPlus开启关闭二级缓存内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/a251628111/article/details/107168167