为了账号安全,请及时绑定邮箱和手机立即绑定

电商秒杀系统中如果数据库操作失败如何处理redis?

电商秒杀系统中如果数据库操作失败如何处理redis?

凤凰求蛊 2019-03-10 10:05:21
参考网上的资料做项目时想到的,如果最后一步往数据库生成秒杀订单因为数据库本身的原因失败了,但redis中的库存已经减少了,redis也无法回滚,这种情况下该如何处理redis?
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

应该是先加锁,等数据库更新成功后跟新redis数据,都成功后解开锁,这里应该串行处理

查看完整回答
反对 回复 2019-03-10
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

可以加一个循环,数据库失败了重试,如果有mq的话可以放到queue里处理,自动重试

查看完整回答
反对 回复 2019-03-10
?
万千封印

TA贡献1891条经验 获得超3个赞

加悲观锁 setnx

查看完整回答
反对 回复 2019-03-10
  • 3 回答
  • 0 关注
  • 515 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信