Sorted Set(有序集合)Sorted Set 和 Set 一样,也是 String 类型的集合,且成员唯一。不同的是 Sorted Set会关联一个 double 类型的 score(分数),用于进行排序。成员是唯一的,但是score可以重复,如果score重复,会使用字典排序。最大的成员数为 232 - 1 个元素(40多亿)。应用场景按照分数进行排列将用户与分数(游戏分数、考试成绩、点赞数)进行关联,然后进行排序。任务队列将任务分为不同的等级,例如重要为2,不重要为1,根据优先级安排任务。实例<?phpinclude ‘redis.php’;$redis = getRedis();$redisKey = ’name_scorted_set’;$redis->zAdd($redisKey, 78, ’tom’, 78, ‘jerry’);// 添加成员echo $redis->zCard($redisKey) . ‘<br />’;// 获取成员数 2$redis->zIncrBy($redisKey, 2, ‘jerry’);// 对指定值进行增量print_r($redis->zRange($redisKey, 0, -1));// 获取指定索引区间的值,从小到大,示例为获取所有值 Array ( [0] => tom [1] => jerry )echo ‘<br />’;print_r($redis->zRevRange($redisKey, 0, -1));// 获取指定索引区间的值,从大到小,示例为获取所有值 Array ( [0] => jerry [1] => tom )echo ‘<br />’;echo $redis->zScore($redisKey, ‘jerry’) . ‘<br />’;// 获取指定值的分数 80echo $redis->zCount($redisKey, 70, 79) . ‘<br />’;// 获取指定分数指定区间的数量 1print_r($redis->zRangeByScore($redisKey, 70, 80));// 获取指定分数间的数据,从小到大 Array ( [0] => tom [1] => jerry )echo ‘<br />’;print_r($redis->zRevRangeByScore($redisKey, 80, 70));// 获取指定分数间的数据,从大到小 Array ( [0] => jerry [1] => tom )echo ‘<br />’;echo $redis->zRank($redisKey, ‘jerry’) . ‘<br />’;// 获取指定值的索引,从小到大 1echo $redis->zRevRank($redisKey, ‘jerry’) . ‘<br />’;// 获取指定值的索引,从大到小 0$redis->zAdd($redisKey, 56, ’emma’);$redis->zRem($redisKey, ’tom’);// 移除指定值print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => emma [1] => jerry )echo ‘<br />’;$redis->zRemRangeByRank($redisKey, 1, 2);// 移除指定排名区间的成员print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => emma )echo ‘<br />’;$redis->zAdd($redisKey, 38, ’tom’, 98, ‘jerry’);$redis->zRemRangeByScore($redisKey, 30, 60);// 移除指定分数区间的成员print_r($redis->zRange($redisKey, 0, -1));// Array ( [0] => jerry )echo ‘<br />’;参考资料:菜鸟教程。