采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
acceptNewOrder redis操作成功, 数据库更新失败, redis里面的订单被删除了? 回滚操作, redis里面的数据会回滚吗?
多谢
Redis事务和数据库事务是有区别的,Redis没有REDO和UNDO日志,所以不支持数据库式的回滚
多谢老师答疑. 那就存在一个逻辑问题. acceptNewOrder 方法里面先是"抢单成功之后,删除Redis中的新订单,避免让其他司机参与抢单" 然后更新数据库 的订单记录. 假设 数据库执行失败了. 但是redis里面订单没有回滚机制. 意味着有些订单 消失了? 是不是需要额外的操作, 把消息的订单再拉回来.
数据执行失败,排除SQL语句的语法错误,那就是数据库崩溃或者网络故障。既然数据库都无法使用,你恢复Redis订单有什么意义呢?
登录后可查看更多问答,登录/注册
50000+代码,300+技术点,慕课网明星讲师为你私人订制
4.6k 15
658 10
700 10
443 10
773 9