TP5中使用redis队列

2019-02-26  本文已影响0人  丢了发型的男人

在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);
          }

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

上一篇下一篇

猜你喜欢

热点阅读