MybatisPlus二级缓存不失效原因(缓存与数据库不一致)

​📒个人主页:热爱生活的李📒
​❤️感谢大家阅读本文,同时欢迎访问本人主页查看更多文章​❤️
😭技术太菜了希望下次不要出现了😭
🙏本人也在学习阶段,如若发现问题,请告知,非常感谢🙏

问题描述

MybatisPlus中出现二级缓存在修改过后缓存不失效
当发生修改时候,但是也没有清空缓存

环境

自己编写的测试demo,可能不符合工程开发规范,比如controller中应该调用service,但是原理是相同的

在这里插入图片描述

现象

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MyBatis-Plus 是基于 MyBatis 的增强工具,而 MyBatis 是一个支持二级缓存的持久层框架。因此,MyBatis-Plus 也可以支持二级缓存二级缓存是指将数据缓存在应用程序的整个生命周期中,对于多次相同的查询请求,可以直接从缓存中获取数据,避免频繁地访问数据库,提高系统性能。 在 MyBatis-Plus 中启用二级缓存需要进行以下配置步骤: 1. 配置 MyBatis 的全局配置文件:在 MyBatis 的全局配置文件中,开启二级缓存的配置项 `<setting name="cacheEnabled" value="true" />`。 2. 在映射文件中配置缓存:在需要开启缓存的映射文件(Mapper XML)中,使用 `<cache />` 标签来配置缓存。可以配置缓存的类型、过期时间等。 3. 标记需要缓存的查询语句:在映射文件中,通过 `<select>`、`<insert>`、`<update>` 和 `<delete>` 等标签来定义查询语句。对于需要进行缓存的查询语句,可以通过 `useCache="true"` 属性来标记。 需要注意的是,二级缓存是基于命名空间(Mapper接口)级别的。也就是说,每个 Mapper 接口都有自己独立的二级缓存。在不同的 Mapper 接口中执行相同的查询语句,会使用不同的缓存。 此外,二级缓存是默认开启的,但也可以通过在全局配置文件中设置 `<setting name="cacheEnabled" value="false" />` 来禁用二级缓存。 需要注意的是,二级缓存对于分布式系统或多实例部署的应用来说,可能会带来一致性问题。因此,在使用二级缓存时,需要根据具体的应用场景和需求来进行合理的配置和使用。 综上所述,MyBatis-Plus 支持二级缓存,通过配置全局设置和映射文件中的缓存配置,可以启用和配置二级缓存,提高系统性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值