VRANGE

返回字典序范围内的向量集元素

语法

VRANGE key start end [count]

引入版本:8.4.0

复杂度摘要:O(log(K)

VRANGE 命令为向量集中的元素提供无状态迭代器。它允许您在每次调用时少量检索向量集中的所有元素,而无需显式游标,并且保证在迭代期间向量集发生更改(添加和/或删除元素)时您将错过什么。

该命令按字典顺序返回元素,使用逐字节比较(如 memcmp())来建立元素之间的总顺序。

必需参数

key

从中检索元素的向量集键的名称。

start

词典编目范围的起点。可以是: - 以 [ 为前缀的字符串表示包含范围(例如 [Redis) - 以 ( 为前缀的字符串表示排除范围(例如 (a7) - 特殊符号 - 指示最小元素

end

词典编目范围的结束点。可以是: - 以 [ 为前缀的字符串表示包含范围 - 以 ( 为前缀的字符串表示排除范围 - 特殊符号 + 指示最大元素

可选参数

count

返回的元素的最大数量。如果count为负数,则命令返回指定范围内的所有元素(集合较大可能会导致服务器长时间阻塞)。

示例

检索从字符串“Redis”(含)开始的前 10 个元素:

VRANGE word_embeddings [Redis + 10

迭代所有元素,一次 10 个:

VRANGE mykey - + 10

从上一个结果的最后一个元素开始继续迭代(不包括):

VRANGE mykey (a7 + 10

返回集合中的所有元素(谨慎使用):

VRANGE mykey - + -1

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
❌主动-主动
✅ 标准
❌主动-主动

返回值

RESP2

以下之一:

  • 指定范围内按字典顺序排列的元素的数组回复。
  • 如果键不存在,则为 数组回复(空数组)。

RESP3

以下之一:

  • 指定范围内按字典顺序排列的元素的数组回复。
  • 如果键不存在,则为 数组回复(空数组)。

行为

  • 迭代保证:每个范围将准确生成执行 VRANGE 命令时该范围中存在的元素。
  • 并发修改:迭代期间删除或添加的元素可能会也可能不会返回,具体取决于它们的修改时间。
  • 空键:如果key不存在,则返回空数组。

资料来源:Redis 官方 VRANGE 文档;中文内容参考 Redis 文档许可。