取号逻辑
原逻辑没考虑并发情况;
在数据库查询新增方法前加入了,redis分布式锁。
实际情况没有锁住,仍然有重复数据。
排查下,怀疑数据库读写分离。后询问后开发库只用主表
后发现是更新事务未提交,导致读到错误数据
增加注解:@Transactional(propagation = Propagation.NOT_SUPPORTED) 事务传播,直接事务先提交
取号逻辑
原逻辑没考虑并发情况;
在数据库查询新增方法前加入了,redis分布式锁。
实际情况没有锁住,仍然有重复数据。
排查下,怀疑数据库读写分离。后询问后开发库只用主表
后发现是更新事务未提交,导致读到错误数据
增加注解:@Transactional(propagation = Propagation.NOT_SUPPORTED) 事务传播,直接事务先提交