在直播APP中有给主播送礼物这样一个场景,
大概的逻辑是:
1:判断用户礼物数量是否足够
2:如果够,则用户礼物数量-1,增加主播的威望
遇到的问题:
在用户刷礼物连击,快速点击送礼按钮的时候,通常会遇到这种情况,在判断礼物数量的时候,上一次送礼请求没有完成,这时候,用户礼物数量是够的,然后过了这个判断,上一次请求完成了,这时候仍要执行扣除礼物数量的操作,这时候,礼物数量就变成了负数了。
请问,这种情况该如何防止礼物数量出现负数的情况。
在直播APP中有给主播送礼物这样一个场景,
大概的逻辑是:
1:判断用户礼物数量是否足够
2:如果够,则用户礼物数量-1,增加主播的威望
遇到的问题:
在用户刷礼物连击,快速点击送礼按钮的时候,通常会遇到这种情况,在判断礼物数量的时候,上一次送礼请求没有完成,这时候,用户礼物数量是够的,然后过了这个判断,上一次请求完成了,这时候仍要执行扣除礼物数量的操作,这时候,礼物数量就变成了负数了。
请问,这种情况该如何防止礼物数量出现负数的情况。
1.从前端讲的话,希望你用promise,点了送礼后,让按钮灰掉等接口返回后再让按钮可用
2.从后端讲你update的时候加个where number >0;他就不会成负数了,后面的update会失败。
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答904 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答966 阅读
1 回答940 阅读
1 回答863 阅读
如果我是你 , 我会考虑直接上redis , 有时候单线程的东西还是有很大好处的 .
其次 , 从你的应用场景出发 , 短时间多次点击 , 简直就是redis绝佳的用武之地 .
泥 , 还在考虑什么 ?