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

PHP消息队列实现及应用

Wicon PHP开发工程师
难度中级
时长 1小时14分
学习人数
综合评分9.73
65人评价 查看评价
9.8 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 服务端
    <?php
    include './db.php';
    //连接本地的 Redis 服务
    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    $redis_name="miaosha";
    $db=DB::getIntance();
    
    //死循环,
    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' => $user_arr[1]);
    
    
        $res = $db->insert('redis_queue',$insert_data);
    //保存数据库中,
      if(!$res){
          $redis->rPush($redis_name,$user);
      }
      sleep(2);
    //第二部
    //redis如果把值取出来这个值就不在队列里了
    //如果出现问题了我的业务没有完成失败的情况下,我们需要有一个备份机制把值重新插回队列里
    //数据库插入失败时候的回滚机制
    //释放一下redis
    
    }
    $redis->close();
    ?>


    查看全部
  • 棒   继续加油


    查看全部
  • LTRIM:保留置顶区间内的元素

    LLEN:获取列表长度

    LSET:通过索引设置列表元素值

    LINDEX:通过索引获取列表中的元素

    LRANGE:获取列表置顶范围内的元素

    查看全部
    0 采集 收起 来源:Redis

    2019-06-01

  • LPUSH/LPUSHX:将值插入到(/存在的)列表头部->带X为存在的

    RPUSH/RPUSHX:将值插入到(/存在的)列表尾部->带X为存在的

    LPOP:移出并获取列表的第一个元素

    RPOP:移出并获取列表的最后一个元素

    查看全部
    0 采集 收起 来源:Redis

    2019-06-01

  • 查看文件安装路径方法:

    1、dpkg -L softwarename; 

    2、sudo apt-get install apt-file,

    然后使用命令:apt-file list softwarename, 


    查看全部
    0 采集 收起 来源:总结.mp4

    2019-05-17

  • Redis List类型

    查看全部
    0 采集 收起 来源:Redis

    2019-05-17

  • 消息队列的应用场景

    冗余:记录订单处理程序  

    解耦:分离两套系统,入队出队系统各不影响

    流量削峰:抢购秒杀

    异步通信:入队

    扩展性:订单队列可扩展,新接口处理。

    排序保证:顺序排位

    队列介质:Mysql,Redis(单个包太大,效率低),消息系统


    查看全部
    0 采集 收起 来源:Redis

    2019-05-17

  • 左侧插入 lpush


    查看全部
    0 采集 收起 来源:Redis

    2019-04-04

  • redis新手学习:949359454,不懂的可以在群里提问哦https://img1.sycdn.imooc.com//5c7149d100012bbc02260290.jpg

    查看全部
  • redis新手学习交流群:949359454,不懂的可以在群里提问哦https://img1.sycdn.imooc.com//5c7149d100012bbc02260290.jpg

    查看全部
  • redis新手学习交流群:949359454,不懂的可以在群里提问哦https://img1.sycdn.imooc.com//5c7149d100012bbc02260290.jpg

    查看全部
  • redis消息队列的应用场景

    查看全部
    0 采集 收起 来源:消息队列.mp4

    2019-02-22

  • PHP插件

    查看全部
    0 采集 收起 来源:RabbitMQ

    2019-01-31

  • RabbitMQ使用

    查看全部
    0 采集 收起 来源:RabbitMQ

    2019-01-31

举报

0/150
提交
取消
课程须知
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下载
官方微信
友情提示:

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