mybatisplus 在同一个事务中,查询有缓存,如何不要缓存
@青苗 你好,想跟你请教个问题:我用mybatisplus 的乐观锁插件,我的想法是这样的,如果我update失败时,我想进行重试,而不是回滚。所以我自己定义了一个重试的aop 切面,但问题是我发现当重试查询的时候,获取到的数据还是旧的数据,但其实数据库已经改变了的,导致重试无效,哪个地方可以关掉缓存吗?
mybatis-plus:
configuration:
cache-enabled: false
这个设置false 还是不行,我不知道还有没有什么缓存的配置,感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我也觉得是事务原因,但是我降到最低都不行。跟mybatisplus 的sqlsession 有没有关系呢
感谢
1.看事务隔离级别
2.如果是repeatable read, 是一致性非锁定读-读快照数据(undo)并且始终是读一开始行数据版
要求这么高用串型事物吧
回复
@1006059906 : 默认不会缓存
回复
感谢感谢
回复
@1006059906 : 遇到和你一样的问题 请教一下后来怎么处理的
我设置为读未提交(read-uncommitted)都没用,查询sql 都打印了,应该不是缓存的问题? 但是隔离级别我设置到最低了,查询还是旧的数据。会不会跟我手动改数据库的原因有关?
可以,事务隔离级别要放在最外面的事务才行,我第一次试的时候放在小事务里了,不生效