1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- namespace app\common\controller;
- use app\utils\RedisUtil;
- use Redis;
- class RedisLeaderboard
- {
-
- private $leaderboard;
-
- public function __construct($leaderboard = '') {
- $this->leaderboard = $leaderboard;
- }
-
- public function getLeaderboard()
- {
- return $this->leaderboard;
- }
-
- public function addLeaderboard($node, $count = 1)
- {
- return RedisUtil::getInstance($this->leaderboard)->zAdd($count, $node);
- }
-
- public function getLeadboard($number, $asc = true, $withscores = false,$callback = null)
- {
- if ($asc) {
- $nowLeadboard = RedisUtil::getInstance($this->leaderboard)->zRevRange(0, $number -1, $withscores);
- } else {
- $nowLeadboard = RedisUtil::getInstance($this->leaderboard)->zRange(0, $number -1, $withscores);
- }
- if ($callback) {
-
- return $callback($nowLeadboard);
- } else {
- return $nowLeadboard;
- }
- }
-
- public function getNodeRank($node, $asc = true)
- {
- if ($asc) {
-
- return RedisUtil::getInstance($this->leaderboard)->zRevRank($node);
- } else {
- return RedisUtil::getInstance($this->leaderboard)->zRank($node);
- }
- }
-
- public function getZunionstore() {
- RedisUtil::getInstance('')->zUnionStore();
- }
- }
|