全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 664|回复: 4
打印 上一主题 下一主题

各位大佬求助关于发卡系统的

[复制链接]
跳转到指定楼层
1#
发表于 2018-7-8 19:46:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在有个问题 比如我库存里面有3000张CDK
这时有三个用户同时下单
用户一下单1000张  用户二下单300张 用户三下单300张

然后坑爹的就来了 cdk 重发了 应为我先查询有那些cdk是没有出售的但是同时 其他用户也会查到是空的
所以求助有什么办法解决吗
2#
发表于 2018-7-8 19:54:11 | 只看该作者
本帖最后由 忘江湖 于 2018-7-8 19:59 编辑

其实感觉楼主你的设计模式都有问题。
我写的发卡从来没遇到这种问题,我的逻辑是,所有的cdkey库存,都放入一个JSON数组,存在对应库存字段里,后面添加入库的也往数组后面追加即可。
然后有人买1000个,就直接读取最前面的1000个给他,同时删除掉库存数组里面的前1000个即可。这样根本不需要需要什么查询。直接排队发卡即可,而且取剩余卡数也非常方便,因为是数组,直接count( )就知道了,已经运营大半年,正常得很。如果你实在还担心冲突,那就增加一道锁表的逻辑即可。
3#
 楼主| 发表于 2018-7-8 20:10:05 | 只看该作者
忘江湖 发表于 2018-7-8 19:54
其实感觉楼主你的设计模式都有问题。
我写的发卡从来没遇到这种问题,我的逻辑是,所有的cdkey库存,都放入 ...

这个前提还是要做列队吗
4#
 楼主| 发表于 2018-7-8 20:19:35 | 只看该作者
忘江湖 发表于 2018-7-8 19:54
其实感觉楼主你的设计模式都有问题。
我写的发卡从来没遇到这种问题,我的逻辑是,所有的cdkey库存,都放入 ...

就是说数组里面放的都是一个个cdk吗
5#
发表于 2018-7-8 20:26:50 | 只看该作者
本帖最后由 师太 于 2018-7-8 20:29 编辑

放数组里面不错的,也可以随机取数组里的数据,取多少少多少,不会存在重复现象
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-13 15:10 , Processed in 0.079400 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表