MybatisPlus下二级缓存
参考官网
# 官网
# mapper 层二级缓存问题
- 我们建议缓存放到 service 层,你可以自定义自己的 BaseServiceImpl 重写注解父类方法,继承自己的实现。
# mapper 层二级缓存刷新问题
- 如果你按照 mybatis 的方式配置第三方二级缓存,并且使用 2.0.9 以上的版本,则会发现自带的方法无法更新缓存内容,那么请按如下方式解决(二选一):
- 1.在代码中 mybatis 的 mapper 层添加缓存注释,声明 implementation 或 eviction 的值为 cache 接口的实现类
@CacheNamespace(implementation=MybatisRedisCache.class,eviction=MybatisRedisCache.class)
public interface DataResourceMapper extends BaseMapper<DataResource>{}
- 2.在对应的 mapper.xml 中将原有注释修改为链接式声明,以保证 xml 文件里的缓存能够正常
<cache-ref namespace="com.mst.cms.dao.DataResourceMapper"></cache-ref>
- 如果想要在mybatisplus下像mybatis那种开启缓存依然需要写sql语句
# 1. 首先在创建对应dao层的mapper文件
- 放入以下cache标签
<cache eviction="FIFO" flushInterval="60000" size="512" readOnly="true"/>
# 2. 然后想要开启缓存功能的sql语句写在该配置文件中, 调用即可