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

PHP消息队列实现及应用

Wicon PHP开发工程师
难度中级
时长 1小时14分
学习人数
综合评分9.73
60人评价 查看评价
9.8 内容实用
9.8 简洁易懂
9.6 逻辑清晰
超卖的问题主要原因是由于list的长度大于10了,如果把list控制在10.怎么会出现超卖呢,首先是把用户id保存在队列,然后再取出来进行数据库操作
很棒的视频
不错,学习下。
有源码么,在线求
不错不错, 貌似没说监听

最新回答 / 小多鱼
我认为这只是个表达队列操作的demo,没有涉及到订单操作
我看到有很多评论说这样的秒杀做法不行,我倒是感觉讲师的意思是一种限流的概念,并非是份数的把控,如果需要做到不超卖,还需要再用一个队列对产品的份数进行一个校验。
感谢老师,Java还可以配合这个PHP脚本来用,不错。
秒杀的实现有问题,我试验了在高并发的情况下大概率超卖,最好用事务实现
入门很好,给个赞
完结散花...

最新回答 / ai0by
课程里面只是个演示吧,超卖设置库存锁或者,锁秒杀之类的就能控制了老师课程里面的只是限制了存储长度,具体怎么用看业务场景吧

最赞回答 / 慕数据2195987
还要提供一个计数器队列总数是10,弹出一个就减去1

最赞回答 / 寻找09之夏
视频中采用for循环测试,这个是有序的,所以不会出现超卖现象;如果并发测试的话,会出现超卖现象;这里提供一个解决思路:活动前定义一个长度为10的list;利用lpop的原子性可以保障不会超卖;就是每次请求先lpop,如果可以获取到值,表示秒杀成功;获取不到说明已抢完。

最新回答 / IT行业小菜鸟
采用异步的原因是根据实际的业务逻辑,用户只关心是否抢购成功的结果,并不需要详细数据,所以只返回给用户成功或失败的提示,实际队列中的抢购数据一般是通过定时任务由消费者进行消费,定时任务可以是系统级别的crontab,也可以是php的定时器等
首页上一页1234567下一页尾页
课程须知
1.掌握PHP基础知识 2.使用过Redis技术做缓存 3.有简单的Linux命令基础,如cd、sudo、apt、Vim
老师告诉你能学到什么?
1.队列是个什么东西,他能干什么 2.队列的应用场景有哪些 3.如何使用队列对业务进行解耦 4.如何使用Redis队列来消除高压力 5.专业的队列系统RabbitMQ如何来使用 课程所需库文件:http://pan.baidu.com/s/1bQg038

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消