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 zrange和zrangebyscore_Redis - Fatal编程技术网

Redis zrange和zrangebyscore

Redis zrange和zrangebyscore,redis,Redis,除了第二个Redis命令具有可选的LIMIT参数外,这两个Redis命令是否不同? 它们是不同的: ZRANGE key start-stop…:start和stop是基于零的索引(即它们对应于排序集中元素的位置) ZRANGEBYSCORE键的最小值最大值…:min和max指的是分数(即它们用于指定分数范围) 因此,第一个按索引操作,而第二个(顾名思义)按分数操作。因此,它们用于不同的目的。例如,排序集为: value score tom 0 bob 1 alice 100 lucy 10

除了第二个Redis命令具有可选的
LIMIT
参数外,这两个Redis命令是否不同? 它们是不同的:

  • ZRANGE key start-stop…
    start
    stop
    是基于零的索引(即它们对应于排序集中元素的位置)
  • ZRANGEBYSCORE键的最小值最大值…
    min
    max
    指的是分数(即它们用于指定分数范围)

因此,第一个按索引操作,而第二个(顾名思义)按分数操作。因此,它们用于不同的目的。

例如,排序集为:

value score
tom 0
bob 1
alice 100
lucy 102
当您使用
zrangebyscores
,最大分数为2,最小分数为0时,您将得到
tom
bob

当您使用
zrange
,开始为0,停止为2时,您将得到
tom
bob
alice

127.0.0.1:6379> zadd example 0 tom 1 bob 100 alice 102 lucy
127.0.0.1:6379> zrange example 0 2 WITHSCORES
1) "tom"
2) "0"
3) "bob"
4) "1"
5) "alice"
6) "100"
127.0.0.1:6379> zrangebyscore example 0 2 WITHSCORES
1) "tom"
2) "0"
3) "bob"
4) "1"

这是关键的区别。

但两者都返回相同的结果