猿问

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

参考网上的资料做项目时想到的,如果最后一步往数据库生成秒杀订单因为数据库本身的原因失败了,但redis中的库存已经减少了,redis也无法回滚,这种情况下该如何处理redis?

凤凰求蛊
浏览 516回答 3
3回答

胡子哥哥

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

繁花不似锦

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

万千封印

加悲观锁 setnx
随时随地看视频慕课网APP

相关分类

MySQL
我要回答