Redis zrange和zrangebyscore

时间:2014-01-22 20:56:00

标签: redis

这两个Redis命令是否不同,除了第二个具有可选的LIMIT参数? http://redis.io/commands/zrange http://redis.io/commands/zrangebyscore

2 个答案:

答案 0 :(得分:15)

他们是不同的:

  • ZRANGE key start stop ...startstop是从零开始的索引(即它们对应于有序集合中元素的位置),
  • ZRANGEBYSCORE key min max ...minmax是指得分(即用于指定得分范围)。

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

答案 1 :(得分:0)

说,排序的集合是:

value score
tom 0
bob 1
alice 100
lucy 102

使用zrangebyscores时,最高分是2,最低分是0,那么您将得到tombob;

当您使用zrange且起点为0,终点为2时,您将得到tombobalice

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"

这是关键区别。