请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

acceptNewOrder redis操作成功, 数据库更新失败, redis里面的订单被删除了?

acceptNewOrder redis操作成功, 数据库更新失败, redis里面的订单被删除了?
回滚操作, redis里面的数据会回滚吗?

多谢

正在回答 回答被采纳积分+3

1回答

神思者 2023-08-14 15:50:27

Redis事务和数据库事务是有区别的,Redis没有REDO和UNDO日志,所以不支持数据库式的回滚

0 回复 有任何疑惑可以回复我~
  • 提问者 bgkp #1
    多谢老师答疑.   那就存在一个逻辑问题. acceptNewOrder 方法里面先是"抢单成功之后,删除Redis中的新订单,避免让其他司机参与抢单" 然后更新数据库 的订单记录.  假设 数据库执行失败了.  但是redis里面订单没有回滚机制.  意味着有些订单 消失了?    是不是需要额外的操作, 把消息的订单再拉回来.
    回复 有任何疑惑可以回复我~ 2023-08-22 09:42:44
  • 神思者 回复 提问者 bgkp #2
    数据执行失败,排除SQL语句的语法错误,那就是数据库崩溃或者网络故障。既然数据库都无法使用,你恢复Redis订单有什么意义呢?
    回复 有任何疑惑可以回复我~ 2023-08-22 12:24:15
问题已解决,确定采纳
还有疑问,暂不采纳
多端全栈项目实战,大型商业级代驾业务全流程落地
  • 参与学习       554    人
  • 解答问题       375    个

50000+代码,300+技术点,慕课网明星讲师为你私人订制

了解课程
意见反馈 帮助中心 APP下载
官方微信