在具有与生菜绑定的开放式最大值的 redis 集群中读取 zset 的正确方法是什么?
What is the right way to read a zset in a redis cluster with an open-ended max bound with lettuce?
我已经使用ZADD
命令将一堆ID及其相应的分数插入到redis实例中。分数基本上是调用 ZADD
的时间戳。
现在我想检索一个 ID 列表,其分数大于五分钟前的时间戳。
客户端是用java写的,我用的是lettuce作为redis客户端库
我有几个问题:
- 这是 redis 网站 (https://redis.io/commands/zrangebyscore) 上
zrangebyscore
文档的 link。然而在生菜网站上,对应的标记为 'Deprecated'。是文档不一致,还是 lettuce 已经不再支持这个 API?
- 我希望能够检索到一个ID列表,其分数大于某个数字N,但我不关心上限。
在 lettuce 的文档中 this API zrange
似乎很适合我的目的。但是我可以用什么 sopt 来表达我不关心上限?文档对此并不清楚。
Redis zrange 命令是一个基于零索引的命令。这意味着索引从 0 开始,并随着您添加新元素而递增。此处有用的是,您可以通过指定负索引 -1 检索最后一个索引,通过指定 -2 检索倒数第二个索引,依此类推。在redis网站上查看更多关于zrange的细节here。
要检索整个范围,您可以运行
zrange keyname 0 -1
请注意,“0”可以替换为任何索引,这意味着上述命令将从该索引位置开始获取值。因此,这不能直接用于获取高于特定分数的所有值。
要从特定分数 N 中检索,请使用
zrangebyscore keyname N +inf
Here 是自 Lettuce 4.3
以来 zrangebyscore 可用的正确 Lettuce API
我已经使用ZADD
命令将一堆ID及其相应的分数插入到redis实例中。分数基本上是调用 ZADD
的时间戳。
现在我想检索一个 ID 列表,其分数大于五分钟前的时间戳。
客户端是用java写的,我用的是lettuce作为redis客户端库
我有几个问题:
- 这是 redis 网站 (https://redis.io/commands/zrangebyscore) 上
zrangebyscore
文档的 link。然而在生菜网站上,对应的标记为 'Deprecated'。是文档不一致,还是 lettuce 已经不再支持这个 API?
- 我希望能够检索到一个ID列表,其分数大于某个数字N,但我不关心上限。
在 lettuce 的文档中 this API zrange
似乎很适合我的目的。但是我可以用什么 sopt 来表达我不关心上限?文档对此并不清楚。
Redis zrange 命令是一个基于零索引的命令。这意味着索引从 0 开始,并随着您添加新元素而递增。此处有用的是,您可以通过指定负索引 -1 检索最后一个索引,通过指定 -2 检索倒数第二个索引,依此类推。在redis网站上查看更多关于zrange的细节here。
要检索整个范围,您可以运行
zrange keyname 0 -1
请注意,“0”可以替换为任何索引,这意味着上述命令将从该索引位置开始获取值。因此,这不能直接用于获取高于特定分数的所有值。
要从特定分数 N 中检索,请使用
zrangebyscore keyname N +inf
Here 是自 Lettuce 4.3
以来 zrangebyscore 可用的正确 Lettuce API