php秒杀功能思路,php 使用redis进行秒杀的思路

各位大大,问题大概是这样的,因为项目中设计一个比较简单的类似于秒杀的东西

但几经搜索之后 都说使用redis的原子性 采用队列来处理, 然后去看了一下redis的一些命令

又结合了别人的一些代码 大致思路是以下这样

我有几个问题

1.什么时候触发 左进右出 取数据这个流程呢 ,条件是什么呢

2.还是说 把商品数量提到 检查队列长度之前??

3.或者说我的思路 本身就有很大漏洞或者 歪了

请不留情 斧正

//用户进入

//获取用户信息

//连接redis

//加入队列msList

//这个位置检查缓存的商品数量?? 为0就直接返回了 不用进行下面的操作?

//检查队列长度

//--1.大于200就返回 抢购人数过多,跳转抢购结束页面,结束,终止秒杀

//--2.小于等于就加入队列

//判断等于200触发下面操作???

//左进右出 取数据

//----查询商品数量为num

//-------1.无则 加入redis缓存

//-------2.有则判断是否大于0

//----------1.小于等于就退出 ,跳转库存不足页面,结束

//----------2.无则判断

//-------------进入的用户左进右出

//-----------------事务

//-----------------1.插入成功,num-1,返回用户消息,结束

//-----------------1.插入失败,回滚,返回用户消息,结束

//释放redis

//订单超时,库存增加??

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值