*Redis VDIM 命令

VDIM 用于返回指定向量集合中向量的维度。


*语法

VDIM key

*参数说明

参数 类型 必填 说明
key String 向量集合的键名

*返回值

  • Integer:向量维度(例如 128、768、1536 等)
  • Nil:键不存在
  • Error:键对应的值不是向量集合类型

*时间复杂度

O(1)

*

*示例

*基本用法

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

*查询高维向量

> VADD text_embeddings doc1 [0.01, 0.02, ...]  # 768维向量
1
> VDIM text_embeddings
768

*键不存在

> VDIM non_existent_key
(nil)

*常见错误

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

*最佳实践

  • 场景:验证向量维度一致性、动态适配下游模型输入维度
  • 在导入数据前,先用 VDIM 确认目标集合的维度,避免 VADD 时维度不匹配
  • 不同业务场景应使用不同的 key 隔离不同维度的向量

*FAQ

Q1: 同一个 key 下可以存储不同维度的向量吗? A: 不可以。同一个向量集合内的所有向量必须具有相同维度,由第一条插入的向量决定。

Q2: 键不存在时返回什么? A: 返回 nil。

Q3: VDIM 可以修改向量维度吗? A: 不可以。VDIM 是只读命令,向量维度由插入的第一个向量决定且不可变更。