Redis zrange和zrangebyscore
除了第二个Redis命令具有可选的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
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"
这是关键的区别。但两者都返回相同的结果