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