TP5中使用redis队列

在thinkphp官方手册里找了半天,没有发现redis队列的使用介绍,太坑爹了吧~

网上看了些方法,都麻烦的很,还是自己研究一下吧,自己动手丰衣足食嘛~
于是扒了一遍TP5中封装的缓存类Cache.php (/thinkphp/library/Cache.php)

/thinkphp/library/Cache.php

手册中介绍的方法都封装在这里

image.png

里面没有redis队列操作的方法,自己添加一下吧,按照上面的格式写了一下,
注意: self::init()->handler() 一定要加,直接返回redis实例对象

    /**
     * redis 获取队列长度
     * @access public
     * @param string        $name 队列名
     * @return mixed
     * User: HeGuoxiang
     * Date: 2019/1/21
     */
    public static function Llen($name = null)
    {
        return self::init()->handler()->Llen($name);
    }

    /**
     * redis 入队操作
     * @access public
     * @param string        $name 队列名
     * @param string|array  $data 队列数据
     * @return mixed
     * User: HeGuoxiang
     * Date: 2019/1/21
     */
    public static function lpush($name, $data = null)
    {
        return self::init()->handler()->lpush($name, $data);
    }

    /**
     * redis 出队操作
     * @access public
     * @param string        $name 队列名
     * @return mixed
     * User: HeGuoxiang
     * Date: 2019/1/21
     */
    public static function lpop($name = null)
    {
        return self::init()->handler()->lpop($name);
    }

大功告成!

可以直接在控制器中使用了,

          $len = Cache::Llen('luckCount_'.$site_id.$key);
          if($len=0){
                Cache::lposh('luckCount_'.$site_id.$key,1);
          }

帮助到大家的,关注一下哦~

推荐阅读更多精彩内容

  • 理工寝室商店-微信小程序 疑问小结 当时在XAMMP下mysql目录下的bin下 php -v 不起作用.到ph...
    这个超人不会飞阿阅读 1,015评论 1 1
  • 1.1 资料 ,最好的入门小册子,可以先于一切文档之前看,免费。 作者Antirez的博客,Antirez维护的R...
    JefferyLcm阅读 16,438评论 1 52
  • 1. 一、框架概述 2. 课程概述 laravel 4天(之前TP框架还是很大的区别)(国外框架) 在线教育平台 ...
    jim1999阅读 109评论 0 0
  • 今晚全程无上厕所,无玩手机,无写作业,无等等等的情况下,观看了央视感动中国2018年度人物评选,这一口气看下来...
    泰上皇阅读 212评论 0 6
  • 当我努力往外爬的时候你们堵住出口,当我没有力气的时候你们又嫌我不努力往外爬。我从来不是一个脆弱的人,我做的努力...
    花清雅阅读 103评论 0 0