mybatis怎么开启三级缓存
时间: 2023-04-01 17:00:30 浏览: 249
整合第三方缓存-linux-c编程(经典_菜鸟必读)
可以在 MyBatis 的配置文件中配置开启二级缓存和三级缓存,具体方法如下:
1. 在 MyBatis 的配置文件中添加以下配置:
<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="false"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value="25"/>
<setting name="defaultFetchSize" value="100"/>
<setting name="safeRowBoundsEnabled" value="false"/>
<setting name="mapUnderscoreToCamelCase" value="false"/>
<setting name="localCacheScope" value="SESSION"/>
<setting name="jdbcTypeForNull" value="OTHER"/>
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>
2. 在需要开启缓存的 Mapper 接口中添加以下注解:
@CacheNamespace(
eviction = FifoCache.class,
flushInterval = 60000,
size = 512,
readWrite = false
)
其中,eviction 表示缓存的淘汰策略,flushInterval 表示缓存刷新的时间间隔,size 表示缓存的最大容量,readWrite 表示缓存是否可读写。
3. 在需要缓存的 SQL 语句中添加以下注解:
@Select("select * from user where id = #{id}")
@Options(useCache = true, flushCache = Options.FlushCachePolicy.FALSE, timeout = 10000)
其中,useCache 表示是否使用缓存,flushCache 表示是否刷新缓存,timeout 表示缓存的过期时间。
通过以上配置,就可以开启 MyBatis 的二级缓存和三级缓存了。
阅读全文