Redis   发布时间:2019-11-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了消息队列redis大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1.消息队列流程

title="消息队列redis" alt="消息队列redis" src="@R_874_10107@s://cn.js-code.com/res/2019/01-12/17/e01687f9e7c9d64f8cc15dfab8c8cd75.png" width="541" height="282">

title="消息队列redis" alt="消息队列redis" src="@R_874_10107@s://cn.js-code.com/res/2019/01-12/17/61da8d8ebedbe05b00239e3b9162675e.png" width="553" height="260">

title="消息队列redis" alt="消息队列redis" src="@R_874_10107@s://cn.js-code.com/res/2019/01-12/17/3392f64461aa59ef7a8d0aee2e33a2a8.png" width="536" height="320">

title="消息队列redis" alt="消息队列redis" src="@R_874_10107@s://cn.js-code.com/res/2019/01-12/17/a68f3c00b42132154a0d30a2276cbe2d.png" width="574" height="326">

title="消息队列redis" alt="消息队列redis" src="@R_874_10107@s://cn.js-code.com/res/2019/01-12/17/a35490625aeb82f757da0b6fb5a15074.png" width="577" height="331">

title="消息队列redis" alt="消息队列redis" src="@R_874_10107@s://cn.js-code.com/res/2019/01-12/17/5ae30938a898ea753f0fdc2adacaa063.png" width="558" height="257">

2.接收用户请求

connect('127.0.0.1',6379); //接收用户的id $redis_name = $_GET['uid']; //获取一下redis里面已有的数量 // $num = 10; //如果当天人数少于10人的时候,则加入这个队列 if($redis->Len($redis_Name) < 10){   //如果当天的人数已经达到了10人,则返回秒杀已完成   $redis->rPush($redis_name,$uid.'%'.microtime()); echo $uid.'秒杀成功'; }else{ echo '秒杀失败'; } $redis->close();

3.执行定时任务插入数据库

connect('127.0.0.1',6379);$redis_name = 'miaosha';$db=DB::geTintance();//死循环while($i<=50){ $i +=1; //从队列最左侧取出一个值来, $user = $Redis->lPop($redis_Name); //然后判断这个值是否存在 if(!$user || $user == 'nil'){ sleep(2); conTinue; } sleep(1); //空队休息时间}//切割指出时间,uid$user_arr = explode('%',$user);//保存数据库中$res = $db->insert('redis_queue',$insert_data);//数据库回滚机制释放redis(插入失败时候回滚机制)if(!$res){ $redis->rPush($redis_name,$user);}sleep(2);//释放一下redis$redis->close();

大佬总结

以上是大佬教程为你收集整理的消息队列redis全部内容,希望文章能够帮你解决消息队列redis所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: