zoukankan      html  css  js  c++  java
  • redis队列思路分析

    第一步 把需要放入队列的商品信息 放入队列中

    第二步。执行队列程序

    第三步。判断队列中的消息,根据长度判断是否已经完成队列任务
    //1. 先将商品库存 存入队列
    $redis = new Redis();
    for($i=1;$i<=100;$i++){
    $redis->lpush('good','good_id'.$i);
    }
    print_r($redis->lrange('good',0,-1));exit;

    //2. 队列程序执行

    header("content-type:text/html;charset=utf-8");
    $redis = new Redis();
    //插入抢购数据
    $userid = "user_id_".mt_rand(1, 9999).'_'.microtime(true);
    if($res = $redis->lpop('good')){
    //$left = $redis->llen('good'); //剩余".($left)."
    $redis->lpush('good_res',$res);
    //file_put_contents('F:.txt',$userid."抢购成功!".$res." ",FILE_APPEND); 写入文件可能会遇到并发锁 导致无法及时写入 而被直接跳过导致记录结果有误 建议测试使用mysql 或者 redis 存入日志记录
    }else{
    //file_put_contents('F:.txt', $userid."手气不好,再抢购! ",FILE_APPEND);
    }
    exit;
    //3. 打印执行结果
    $redis = new Redis();
    print_r($redis->lrange('good_res',0,-1));exit;

  • 相关阅读:
    第十二章类的无参方法
    第十三章人机猜拳
    第十一章类和对象
    面向对象七大原则。
    深入类的方法。
    使用集合组织相关数据。
    .NET框架
    C#数据类型
    错误。
    实现Windows的数据绑定
  • 原文地址:https://www.cnblogs.com/kevin-yang123/p/12634842.html
Copyright © 2011-2022 走看看