-
队列查看全部
-
Redis类中list类型
查看全部 -
消息队列触发机制 死循环,不停扫描,有消息就处理 定时任务,查看全部
-
## RabbitMQ## RabbitMQ
查看全部 -
# 流量削峰案例:Redis的list类型实现秒杀
查看全部 -
啊啊啊顶顶顶
查看全部 -
创建数据库表:
一、接收用户请求存入到redis的程序
二、将redis的数据插入到数据库的程序
查看全部 -
秒杀:在同一时间会有巨大的访问量。
Redis基于内存,速度较快,Mysql数据库则需要在硬盘中写入数据,速度慢。
另外,数据库如果阻塞其他的业务也将受到影响。
Redis是数据可持久化的,会周期性的将数据写入硬盘。不用担心断电。
Redis提供五种数据类型:字符串、双向链表、哈希表、集合、有序集合。
list类型是一个双向链表,支持头部和尾部插入元素。最多可支持40亿个元素。
处理简单轻量的消息队列时非常有优势。
查看全部 -
yum install php-bcmath php-mbstring php-0dom php-curl
查看全部 -
<?php inlcude_onceA './include/db.php'; $redis = new Redis(); $resid->connect('127.0.0.1', 6379); $reds_name = 'miaosha'; $db = DB::getInstance(); //死循环 while(1) { //从队列最左侧取出一个值来 $user = $redis->lPop($redis_name); //然后判断这个值是否存在 if (!$user || $user == 'nil') { sleep(2); continue; } //切割出时间, uid $user_arr = explode('%', $user); $insert_data = array( 'uid' => $user_arr[0], 'time_stamp' => $use_arr[1]] ); //保存到数据库中 $res = $db->insert('redis_queue', $insert_data);: //数据库插入失败时回滚 if (!$res) { $redis->rPop($redis_name, $user); } } //释放redis $redis->close(); }
查看全部 -
</php //首先,加载一个Reids组件, $redis = new Redis(); $resid->connect('127.0.0.1', 6379); $reds_name = 'miaosha'; for ($i = 0;$i < 100;$i++) { $uid = rand(1000000, 9999999); } //接收用户的id, //$uid = $_GET['uid']; //获取redis里面已有的数量 $num = 10; //如果当前人数少于10的时候,则加入这个队列 if ($redis->lLen($resid_name) < 10) { $redis->rPush($redis_name . $uid . '%' . microtime()); echo $uid . '秒杀成功'; }else{ //如果当前人数已经达到10人,责任返回秒杀已完成 echo '秒杀已结束'; } $redis->close();
查看全部 -
<?php include_once './include/db.php'; if (!empty($_GET['mobile'])) { //这里首先应该是订单中心的处理流程 //....... //把用户get过来的数据进行过滤 $order_id = rand(10000, 99999); //订单信息 $insert_data = array( 'order_id ' => $order_id, 'mobile' => $_GET['mobile'], 'created_at' => date('Y-m-d H:i:s'), 'status' => 0, ); //存储数据 $db = DB::getInstance(); $res = $db->insert('order_queue', $insert_data); if ($res) { echo $insert_data['id'] . '保存成功'; } else { echo $insert_data['id'] . '保存失败'; } }
查看全部 -
整体流程:接受用户订单,通过crontab进行配送处理
弊端:如果用户量大,会导致配送时间紊乱(个人观点)
查看全部 -
消息队列的应用场景
冗余
解耦
流量削峰
异步通信
扩展性
排序保证
查看全部 -
RabbitMQ的官网是www.rabbitmq.com
查看全部
举报
0/150
提交
取消