Back

web - 生成重复记录的一种情况

发布时间: 2019-08-23 08:14:00

生成重复记录的一种情况:

Transaction do 
  1. 保存表1数据库(0.1ms)
  2. 发送短消息通知(6s)
  3. 保存表2到数据库(0.1ms)
end 

这里会有问题: 两个请求,间隔3秒,两个请求进来,会导致: 表1被保存2次。 表2被保存1次。

解决办法:
1. 短消息通知,放在transaction后面。
2. 使用正确的顺序
3. 正确的使用transaction, 发现不对,立刻抛出异常

Transaction do 
  1. 保存表1数据库(0.1ms)
  2. 保存表2到数据库(0.1ms)
  3. 发送短消息通知(6s)
end 

Back