Mybatis Plus 之开启、关闭二级缓存

一、开启MybatisPlus的全局配置:

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

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


<?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”

<select id="getCount" resultType="int" useCache="false">
       select count(1) from table
</select>
注意:添加二级缓存的xml,对应的entity需要实现Serializable接口

猜你喜欢

转载自blog.csdn.net/a251628111/article/details/107168167