Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis ZREMRANGEBYRANK ZREMRANGEBYSCORE之间的差异_Redis_Sortedset - Fatal编程技术网

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,下面的答案对你们有帮助吗?