tp5 (自写) 实现redis消息队列 + 排行榜

1:小皮开启redis, 控制器按Ctrl 点击new Redis 进入 redis.php 进行封装

//向队列添加数据
//    LPUSH key value1 [value2]
//将一个或多个值插入到列表头部
    public function lPush($key,$value)
    {
        return $this->handler->lPush($key,$value);
    }
    //向队列里面取数据
//        RPOP key
//移除列表的最后一个元素,返回值为移除的元素。
    public function rPop($key)
    {
        return $this->handler->rPop($key);
    }

 

 

 

 2:控制器进行调用

//    队列存储
    public  function push(){
    Cache::store('redis')->handler()->lPush('k','v','vv','vvv','vvvv');
//        $redis=new Redis();
//        $redis->lPush('sex','nan','nu');
    }
//    队列弹出数据
    public  function pop(){
        $redis=new Redis();
        $redis->rPop('name');
    }

 

 

 3:如果报错。在thinkphp/library/think 配置以下代码

 

 

 

    public static function getHandler()
    {
        self::init();
        return self::$handler;
    }

 

 

 redis 排行榜  redis.php封装代码

//    队列排行榜
//    ZADD key score1 member1 [score2 member2]
//向有序集合添加一个或多个成员,或者更新已存在成员的分数
    public function zAdd($key, $SCORE, $member)
    {
        return $this->handler->zAdd($key, $SCORE, $member);
    }
//Redis Zrevrank 命令返回有序集中成员的排名。
//其中有序集成员按分数值递减(从大到小)排序。
//ZREVRANK key member
    public function zRevRank($keyNmae, $member)
    {
        return $this->handler->zRevRank($keyNmae,$member);
    }

控制器调用代码

//    排行榜添加
    public function zAdd()
    {
        $redis = new  Redis();
        $redis->zAdd('name', 98, 'yan');

    }
//排行榜排序,从大到小
    public function zRevRank()
    {
        $redis = new  Redis();
        $redis->zRevRank('name', 'yan');
    }

 

posted @ 2021-09-29 08:38  王越666  阅读(431)  评论(0编辑  收藏  举报