如何限制排序集的 return 值
How to limit sorted set's return value
2天前开始学习redis,现在遇到问题。我需要限制排序集的 return 值。在我的任务中,我需要指定城市和机票价格,我需要获得 3 个最贵和 3 个最便宜的航班,但我不能限制 return 值,但我已经将新的 Sorted Set 命名为 1,并添加 1 - 1; 2 - 二。我不知道命令语法应该是什么。
我试过:
zrange one 0 5 [LIMIT 1]
(error) ERR syntax error
127.0.0.1:6379> zrange one 0 5 LIMIT 1
(error) ERR syntax error
127.0.0.1:6379> zrange one 0 5 [1]
(error) ERR syntax error
文档对我没有帮助...
LIMIT语法应该跟在两个参数之后,第一个是offset,第二个是count。
您可以尝试使用以下命令进行测试。
zrange one 0 5 LIMIT 0 1
偏移量为0,计数为1,表示取zrange one 0 5
的第一个结果
您正在尝试按 排名 进行查询。按排名查询时,您不需要(也不能)提供 LIMIT 选项。因为您已经按等级提供了限制。比如你要查询排名5到10之间,你的limit等于(10-5+1)=6.
对于您的查询,按升序排列,最低的 3 个排名在 0 到 2 之间。因此查询将是:
zrange one 0 2
同样,按升序排列,最高的 3 个排名在 -3 和 -1 之间。所以查询将是:
zrange one -3 -1
2天前开始学习redis,现在遇到问题。我需要限制排序集的 return 值。在我的任务中,我需要指定城市和机票价格,我需要获得 3 个最贵和 3 个最便宜的航班,但我不能限制 return 值,但我已经将新的 Sorted Set 命名为 1,并添加 1 - 1; 2 - 二。我不知道命令语法应该是什么。
我试过:
zrange one 0 5 [LIMIT 1]
(error) ERR syntax error
127.0.0.1:6379> zrange one 0 5 LIMIT 1
(error) ERR syntax error
127.0.0.1:6379> zrange one 0 5 [1]
(error) ERR syntax error
文档对我没有帮助...
LIMIT语法应该跟在两个参数之后,第一个是offset,第二个是count。 您可以尝试使用以下命令进行测试。
zrange one 0 5 LIMIT 0 1
偏移量为0,计数为1,表示取zrange one 0 5
您正在尝试按 排名 进行查询。按排名查询时,您不需要(也不能)提供 LIMIT 选项。因为您已经按等级提供了限制。比如你要查询排名5到10之间,你的limit等于(10-5+1)=6.
对于您的查询,按升序排列,最低的 3 个排名在 0 到 2 之间。因此查询将是:
zrange one 0 2
同样,按升序排列,最高的 3 个排名在 -3 和 -1 之间。所以查询将是:
zrange one -3 -1