*Redis VCARD 命令

VCARD 用于返回指定向量集合中的向量数量。


*语法

VCARD key

*参数说明

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

*返回值

  • Integer:向量集合中的向量数量
  • Integer(0):键不存在或集合为空
  • Error:键对应的值不是向量集合类型

*时间复杂度

O(1)

*

*示例

*基本用法

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

*查询空集合

> VCARD empty_vectors
0

*批量添加后查询

> VADD items item1 [0.1, 0.2]
1
> VADD items item2 [0.3, 0.4]
1
> VADD items item3 [0.5, 0.6]
1
> VCARD items
3

*常见错误

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

*最佳实践

  • 场景:统计向量库规模、监控索引大小、分页查询前获取总量
  • VSIM 配合使用时,可用 VCARD 预估相似度搜索的数据规模
  • 在数据导入过程中,使用 VCARD 验证导入结果

*FAQ

Q1: VCARD 和 SCARD 有什么区别? A: VCARD 用于向量集合,SCARD 用于 Redis 集合(Set)类型。两者不能混用。

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

Q3: VCARD 会触发全量扫描吗? A: 不会。VCARD 是 O(1) 操作,内部维护计数器,不会扫描全部向量。