php redis队列

tp3
use Think\Cache\Driver\Redis;

        $redis = new Redis();

        //插入队列
       for($i=0;$i<10;$i++){
          $res =  $redis->push('num',rand(1,1000));
          //$res为第几位
          dump($res);
       }

      //先进先出

       //弹出队列
       for($i=0;$i<10;$i++){
           $res =  $redis->pop('num');
            //$res为值
           dump($res);
       }

       //队列长度
       $value= $redis->len('num');
       dump($value);
 /**
     * 插入队列
     * @param $k
     * @param $value
     * @return bool
     * @author sunnier <xiaoyao_xiao@126.com>
     */
    public function push($k,$value){
        $value  =  (is_object($value) || is_array($value)) ? json_encode($value) : $value;
        $result=$this->handler->lpush($this->options['prefix'].$k,$value);
        if($result){
            return $result;
        }else{
            return false;
        }
    }
    /**
     * 弹出队列
     * @param $name
     * @return array|mixed
     * @author sunnier <xiaoyao_xiao@126.com>
     */
    public function pop($name,$sendtimeout=0){
        if(!$sendtimeout){
            $timeout=$this->options['timeout'];
        }else{
            $timeout=0;
        }
        $keys=array($this->options['prefix'].$name);
        $value = $this->handler->brPop($keys,0);
        $jsonData  = json_decode( $value[1], true );
        return ($jsonData === NULL) ? $value[1]: $jsonData;
    }
    /**
     * 获取队列长度
     * @param $name
     * @return int
     * @author sunnier <xiaoyao_xiao@126.com>
     */
    public function len($name){
        return $this->handler->lLen($this->options['prefix'].$name);
    }
    /**
     * 删除队列
     * @param $name
     * @return int
     * @author sunnier <xiaoyao_xiao@126.com>
     */
    public function del($name){
        return $this->handler->del($this->options['prefix'].$name);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值