内容简介:Sorted Set 和 Set 一样,也是 String 类型的集合,且成员唯一。不同的是 Sorted Set会关联一个成员是唯一的,但是
Sorted Set(有序集合)
Sorted Set 和 Set 一样,也是 String 类型的集合,且成员唯一。不同的是 Sorted Set
会关联一个 double
类型的 score
(分数),用于进行排序。
成员是唯一的,但是 score
可以重复,如果 score
重复,会使用 字典排序
。
最大的成员数为 2 32 - 1 个元素(40多亿)。
应用场景
按照分数进行排列
将用户与分数(游戏分数、考试成绩、点赞数)进行关联,然后进行排序。
任务队列
将任务分为不同的等级,例如重要为2,不重要为1,根据优先级安排任务。
实例
<?php include '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 />';// 获取指定值的分数 80 echo $redis->zCount($redisKey, 70, 79) . '<br />';// 获取指定分数指定区间的数量 1 print_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 />';// 获取指定值的索引,从小到大 1 echo $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 />';
参考资料: 菜鸟教程 。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning XML with DOM and Ajax
Sas Jacobs / Apress / 2006-06-05 / USD 39.99
Don't waste time on 1,000-page tomes full of syntax; this book is all you need to get ahead in XML development. Renowned web developer Sas Jacobs presents an essential guide to XML. Beginning XML with......一起来看看 《Beginning XML with DOM and Ajax》 这本书的介绍吧!