Redis ZREMRANGEBYRANK ZREMRANGEBYSCORE之间的差异
Redis ZREMRANGEBYRANK ZREMRANGEBYSCORE之间的差异,redis,sortedset,Redis,Sortedset,ZREMRANGEBYRANK和ZREMRANGEBYSCORE之间有什么区别 请向我解释以下问题: 127.0.0.1:6379> ZRANGEBYSCORE my 1 10 WITHSCORES 1) "b" 2) "1" 3) "a" 4) "4" 让我们先设置您的ZSet: ZADD myzset 1 "one" ZADD myzset 2 "two" ZADD myzset 3 "three" ZADD myzset 4 "four" ZADD myzset 5 "five"
ZREMRANGEBYRANK
和ZREMRANGEBYSCORE
之间有什么区别
请向我解释以下问题:
127.0.0.1:6379> ZRANGEBYSCORE my 1 10 WITHSCORES
1) "b"
2) "1"
3) "a"
4) "4"
让我们先设置您的
ZSet
:
ZADD myzset 1 "one"
ZADD myzset 2 "two"
ZADD myzset 3 "three"
ZADD myzset 4 "four"
ZADD myzset 5 "five"
ZADD myzset 6 "six"
ZADD myzset 7 "seven"
ZADD myzset 8 "eight"
ZADD myzset 9 "nine"
ZADD myzset 10 "ten"
让我们看看您正在使用以下命令选择什么:
127.0.0.1:6379> ZRANGE myzset 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "four"
8) "4"
9) "five"
10) "5"
11) "six"
12) "6"
13) "seven"
14) "7"
15) "eight"
16) "8"
17) "nine"
18) "9"
19) "ten"
20) "10"
因此,它将选择所有元素
ZREMRANGEBYSCORE
的输出:
127.0.0.1:6379> ZREMRANGEBYSCORE myzset 5 8
(integer) 4
127.0.0.1:6379>
127.0.0.1:6379> ZRANGE myzset 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "four"
8) "4"
9) "nine"
10) "9"
11) "ten"
12) "10"
因此,最低分数为5到最高分数为8的元素将被删除。这里删除了带有分数的元素:5,6,7,8
ZREMRANGEBYRANK的输出:
127.0.0.1:6379> ZREMRANGEBYRANK myzset 5 8
(integer) 4
127.0.0.1:6379>
127.0.0.1:6379> ZRANGE myzset 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
7) "four"
8) "4"
9) "five"
10) "5"
11) "ten"
12) "10"
因此,具有最小索引5到最大索引8的元素将被删除。此处删除的元素:6,7,8,9
,其索引为5,6,7,8
根据:
ZREMRANGEBYSCORE关键点最小值最大值
删除存储在键处的排序集中具有分数的所有元素
在最小值和最大值之间(包括)
ZREMRANGEBYRANK按键启动-停止
删除排序集中存储在键处且秩介于之间的所有元素
开始和停止。start和stop都是基于0的索引,其中0是
得分最低的元素。这些指数可以是负数
数字,其中它们表示从具有
最高分。例如:-1是得分最高的元素,
-2得分第二高的元素,以此类推
您询问了两个命令,然后给出了第三个命令的示例。你们应该编辑你们的问题,并把你们的问题解释得更清楚。@abhishek kushwaha,下面的答案对你们有帮助吗?