运行报错 debug不报错?事务导致时序性大问题!

在测试代码时遇到一个问题,程序直接运行时数据不符合预期,但在Debug模式下结果正确。问题源于事务操作与缓存更新的时序性。尽管代码逻辑无误,但事务的延迟写入导致在广播更新缓存后,数据库尚未完成更新,从而有时获取到旧数据。解决此类问题需要关注事务与缓存同步策略。
摘要由CSDN通过智能技术生成

运行报错 debug不报错?事务导致时序性大问题!

今天在测试自己还未上线的代码时,突然发现了重大问题程序直接运行结果不符合预期,但是 debug的结果却是复合预期的!

问题表现

  • 进行数据变更操作的时,正常运行查出旧数据.想要debug发现问题具体是发生在哪里.debug的结果却完全没问题.

[伪代码]

  • 我的代码实现效果是内存缓存,所以在多实例的情况下需要使用广播功能去通知多实例更新内存缓存.
 @Override
    @Transactional(rollbackFor = Exception.class)
    public void createStudent(Stud
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值