# phpredis 教程:有序集合 *** ### 有序集合操作 ~~~ <?php $redis = new \Redis(); $redis->connect('127.0.0.1', 6379); // Redis 没设置密码则不需要这行代码 // $redis->auth('opG5dGo9feYarUifaLb8AdjKcAAXArgZ'); // 添加成员 $redis->zAdd('zset', 95, '小明'); $redis->zAdd('zset', 99, '小刚'); $redis->zAdd('zset', 100, '小红'); // 统计成员个数 echo $redis->zCard('zset') . PHP_EOL; // 获取某个成员的分数 $score = $redis->zScore('zset', '小明'); echo $score . PHP_EOL; // 获取某个成员的排名 $rank = $redis->zRank('zset', '小明'); // 从低到高排序的名次 $revRank = $redis->zRevRank('zset', '小明'); // 从高到低排序的名次 echo $rank . PHP_EOL; echo $revRank . PHP_EOL; // 给指定成员增加分数 $redis->zIncrBy('zset', 1, '小明'); // 给小明加一分 // 返回指定排名范围的成员 $range = $redis->zRange('zset', 0, 9, true); // 返回分数从低到高排序的前10名及分数 $revRange = $redis-> zRevRange('zset', 0, 9, true); // 返回分数从高到低排序的前10名及分数 var_dump($range); var_dump($revRange); // 删除成员 $redis->zRem('zet', '小明'); // 返回指定分数范围的成员 $rangeByScore = $redis->zRangeByScore('zet', 98, 100); // 返回指定分数范围内从低到高排序的成员 $revRangeByScore = $redis->zRevRangeByScore('zet', 98, 100); // 返回指定分数范围内从高到低排序的成员 var_dump($rangeByScore); var_dump($revRangeByScore); ~~~