zoukankan      html  css  js  c++  java
  • php 简单使用redis 队列示例

     1 public function redisAction(){
     2         $redis = new Redis();
     3         $redis->connect('127.0.0.1', 6379);
     4         echo "Connection to server sucessfully<br/>";
     5         //存储数据到列表中
     6         $redis->lpush("tutorial-list", "Redis");
     7         $redis->lpush("tutorial-list", "Mongodb");
     8         $redis->lpush("tutorial-list", "Mysql");
     9         // 获取存储的数据并输出
    10         $arList = $redis->lrange("tutorial-list", 0 ,5);
    11         echo "Stored string in redis------<br/>";
    12         echo"压入队列:<br/>";var_export($arList);
    13         echo "<br/>";
    14         // 获取列表长度
    15         $llen = $redis->llen('tutorial-list');
    16         while ($llen){
    17             echo "弹出数据:".$redis->lpop('tutorial-list')."<br/>";
    18             $llen = $redis->llen('tutorial-list');
    19         }
    20         // 获取存储的数据并输出
    21         $arList = $redis->lrange("tutorial-list", 0 ,5);
    22         echo "Stored string in redis------<br/>";
    23         var_export($arList);
    24     }
    25     //测试reds
    26     public function testredisAction(){
    27       
    28         $store=10;
    29         $redis=new Redis();
    30         $result=$redis->connect('127.0.0.1',6379);
    31         $res=$redis->llen('goods_store');
    32         echo $res."<br>";
    33         $count=$store-$res;
    34         for($i=0;$i<$count;$i++){
    35             $redis->lpush('goods_store',1);
    36         }
    37         echo $redis->llen('goods_store');    
    38     
    39     }
    40     public function buyAction(){
    41         //模拟下单操作
    42         //下单前判断redis队列库存量
    43         $redis=new Redis();
    44         $result=$redis->connect('127.0.0.1',6379);
    45         $count=$redis->lpop('goods_store');
    46         echo $count."<br>";
    47         echo $redis->llen('goods_store')."<br>";
    48 
    49         if(!$count){
    50             echo('error:no store redis');
    51         }else{
    52 
    53             //生成订单
    54             $order_sn=$this->build_order_no();
    55             echo $order_sn;
    56         }
    57         
    58     }
    59     //生成唯一订单号
    60     function build_order_no(){
    61         return date('ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
    62     }

     运行结果:

  • 相关阅读:
    PHP概率算法---砸金蛋示例
    onethink----网站配置信息调用!
    ajax解决跨域方法(适用于自己写接口解决跨域)
    JavaScript获取地址栏的参数!
    Atitit. null错误的设计 使用Optional来处理null
    Atitit.常用的gc算法
    Atitit.java expression fsm 表达式分词fsm引擎
    Atitit.安全性方案规划设计4gm  v1 q928
    Atitit.安全性方案规划设计4gm  v1 q928
    Atitit.java expression fsm 表达式分词fsm引擎
  • 原文地址:https://www.cnblogs.com/wanglijun/p/8808733.html
Copyright © 2011-2022 走看看