Introduction to VPS and Web Technology Development

卡券超发问题

自由vps golang
今天检查一个活动的卷,查看接口返回记录

接口日志1:2022-11-01 10:10:06   用时 26s   接口正常返回
接口日志2:2022-11-01 10:10:12  用时 26s   接口正常返回


查询数据:
    1库存多扣减1,
    2卡券多扣减1

结论:库存扣减环节没有问题,而是发生在卡券存在性判断环节,经过查询得知,卡券的查询环节使用的select结果集判断存在性,粗看没有问题
但是接口日志1耗时26s,接口2也差不多,很明显是在查询结果insert这个问题上产生了阻塞,导致结果1未返回前,结果2获取到的结果集为空,后续进入了扣库环节


处理方式:
    使用redis的锁功能,限制用户在此接口只能等上一次提交返回后再能下一次提交,以后所有数据更新更新的接口,都需要使用redis的锁功能,保证数据在并发条件下的业务时空单一性
使用chatGPT寻求答案
标签: 暂无标签

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:master@freevpsweb.com

同类推荐
评论列表