*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 是只读命令,向量维度由插入的第一个向量决定且不可变更。