美文网首页
TP5中使用redis队列

TP5中使用redis队列

作者: 丢了发型的男人 | 来源:发表于2019-02-26 11:13 被阅读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);
              }
    

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

    相关文章

      网友评论

          本文标题:TP5中使用redis队列

          本文链接:https://www.haomeiwen.com/subject/ehdaeqtx.html