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

直播送礼接口应该如何解决并发问题

直播送礼接口应该如何解决并发问题

PHP
holdtom 2019-03-18 15:33:11
在直播APP中有给主播送礼物这样一个场景, 大概的逻辑是:1:判断用户礼物数量是否足够2:如果够,则用户礼物数量-1,增加主播的威望 遇到的问题:在用户刷礼物连击,快速点击送礼按钮的时候,通常会遇到这种情况,在判断礼物数量的时候,上一次送礼请求没有完成,这时候,用户礼物数量是够的,然后过了这个判断,上一次请求完成了,这时候仍要执行扣除礼物数量的操作,这时候,礼物数量就变成了负数了。 请问,这种情况该如何防止礼物数量出现负数的情况。
查看完整描述

4 回答

?
跃然一笑

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

如果我是你 , 我会考虑直接上redis , 有时候单线程的东西还是有很大好处的 .
其次 , 从你的应用场景出发 , 短时间多次点击 , 简直就是redis绝佳的用武之地 .
泥 , 还在考虑什么 ?

查看完整回答
反对 回复 2019-03-18
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

队列处理,并行转为串行,这个时候判断的礼物数量就是正确的

查看完整回答
反对 回复 2019-03-18
?
茅侃侃

TA贡献1842条经验 获得超21个赞

这种情况后端应该用消息队列,或者加锁策略,
前端可以在每次页面打开时就把余量请求过来,避免展示负数

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 697 浏览

添加回答

举报

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