*Redis VEMB 命令

VEMB 用于返回指定向量集合中某个 ID 对应的向量数据(嵌入向量)。


*语法

VEMB key id

*参数说明

参数 类型 必填 说明
key String 向量集合的键名
id String 向量的唯一标识符

*返回值

  • Array:向量数据(浮点数数组)
  • Nil:ID 不存在于该集合中
  • Error:键对应的值不是向量集合类型

*时间复杂度

O(1)

*

*示例

*基本用法

> VADD user_embeddings user1 [0.1, 0.2, 0.3, 0.4]
1
> VEMB user_embeddings user1
[0.1, 0.2, 0.3, 0.4]

*查询不存在的 ID

> VEMB user_embeddings user999
(nil)

*查询高维向量

> VADD image_embeddings img1 [0.001, 0.002, 0.003, ...]
1
> VEMB image_embeddings img1
[0.001, 0.002, 0.003, 0.004, ...]

*常见错误

错误 原因 解决
ERR wrong number of arguments 缺少 key 或 id 参数 补充完整参数
WRONGTYPE Operation against a key holding the wrong kind of value key 不是向量集合 确认 key 类型正确

*最佳实践

  • 场景:获取向量用于离线分析、向量可视化、向量相似度二次计算
  • 高频查询建议使用缓存,避免重复读取相同向量
  • 大维度向量(如 1536 维)传输时注意网络带宽和序列化开销

*FAQ

Q1: VEMB 返回的向量精度会丢失吗? A: 不会。返回的向量与原始存储的浮点数一致,精度由 Redis 内部存储格式保证。

Q2: 可以批量查询多个 ID 的向量吗? A: 当前命令仅支持单 ID 查询,批量查询建议使用多次 VEMB 配合 Pipeline。

Q3: 返回的向量可以直接用于数学运算吗? A: 可以,返回的浮点数组可直接用于客户端的相似度计算、聚类等操作。