Libin YANG
Libin YANG
@GhostQinMo 已邀请
@HeyBean-Xx 你好,已邀请,欢迎加入
Hi @PassionFriend Welcome to join us. Please visit https://github.com/doocs to accept the invitation :)
> 我这里说说自己的想法吧,对于第一个问题,我是这样设计保证不会发生超卖情况的。当执行秒杀操作的时候,数据库进行的是两个操作:1.减库存update。2.增加用户购买明细insert。所以这里会使用到mysql的事务机制,我在设计表的时候指定mysql的引擎engine = INNODB,所以mysql会采用行级锁的机制来操作事务机制。所以当用户1得到行级锁在执行update操作的时候,用户2必须要等到用户1执行完upadte、insert操作并释放掉行级锁后才能得到这个行级锁并进行秒杀操作。此时若用户1将最后一件商品秒杀掉后,用户2再去秒杀的时候会出现秒杀完毕的异常,我们采用的解决方法是捕获这个秒杀完毕的异常并以用户的角度向他表明。所以我觉得不会发生超卖的情况。 @codingXiaxw 老哥,这不是你设计的吧?
图片没显示出来
只有 GitHub 的
@gckwd 已邀请,请访问 https://github.com/doocs 接受邀请,欢迎加入我们:)
@bbkxm 已邀请,请访问 https://github.com/doocs 接受邀请,欢迎加入:)
Hi @AliPythonDev I've invited you Doocs. Please visit https://github.com/doocs to accept the invitation. Welcome to join us:)