登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  科技周边 >  业界新闻

Redis 把向量集合纳入核心数据类型意味着什么

来源:17golang原创

时间:2026-10-07 07:19:41 306浏览 收藏

Redis 的变化不只是“多了一个向量命令”。当前官方数据类型文档已经把 Vector Sets 列入 Redis Open Source 的数据类型列表,这说明向量相似度检索正在从额外模块或独立服务的思路,向 Redis 原生数据模型靠拢。真正的影响是:应用可以用更接近 Redis 习惯的方式保存 embedding、元素标识和可选属性,再按相似度取回结果。

官方地址:https://redis.io/docs/latest/develop/data-types/

要点速览
  • Vector Sets 把“字符串元素 + 向量”绑定成专用数据类型,核心查询入口是 VADD 和 VSIM。
  • 它适合轻量的向量相似度场景,不等于取代支持全文、数值和混合查询的 Redis Query Engine。
  • 落地前要确认 Redis 版本、beta/兼容性边界、向量维度、量化方式和数据规模。

Redis Vector Sets 变化在于把向量放进原生数据模型

2025 年 4 月,Redis 官方首次公告 Vector Sets,并说明它以 Redis 8 Community Edition 的 beta 能力提供。如今文档已经把它放进数据类型体系,产品信号变得更清楚:向量不是只能藏在 Hash、JSON 或外部向量库里的二进制字段,也可以成为 Redis 直接理解的对象。

它借鉴了 Sorted Set 的使用直觉,但成员不再只关联一个 score,而是关联一组向量值。Vector Set 还可以给成员挂 JSON attributes,再让 VSIM 在相似度检索时应用简单过滤。这样,推荐候选、语义片段或相似图片的“标识—向量—少量属性”可以被放在同一个原生边界内。

Redis Vector Sets 数据模型说明图,展示字符串元素、embedding 向量、HNSW、属性过滤与 VSIM 的关系
图1:Vector Sets 数据模型说明图,观察元素、向量和过滤属性如何归入同一个原生类型。

从 VADD 到 VSIM,开发体验为什么更像 Redis

最小模型可以先用低维示例理解,真实 embedding 通常有数百个维度。下面只是语法示意:先用 VADD 写入元素和向量,再用 VSIM 按给定向量寻找相似成员;VCARD、VDIM 则分别帮助读取集合规模和向量维度。

# 写入一个三维示例向量,实际项目应使用模型输出的固定维度
redis-cli VADD article_vectors VALUES 3 0.12 0.33 0.54 doc:001
# 按查询向量取回前 5 个相似元素,示例不代表本机已执行
redis-cli VSIM article_vectors VALUES 3 0.10 0.30 0.50 COUNT 5
# 读取集合规模与维度,先确认数据模型没有漂移
redis-cli VCARD article_vectors
redis-cli VDIM article_vectors

这里的关键不是命令数量少,而是数据结构和相似度操作被放在同一层。官方文档还提醒,使用 FP32 blob 时要处理 little-endian;如果不想承担跨架构字节序差异,可以使用 VALUES 形式。生产接入时还要把向量维度、元素唯一标识和属性过滤表达式当成契约,而不是等到召回结果异常后再补。

Vector Sets 与 Redis Query Engine 不是替代关系

这是这条新闻最容易被误读的地方。Vector Sets 的优势是轻量、专用、API 直接;当需求主要是“给一个向量,找最相似的若干成员”,它的模型很顺手。Redis Query Engine 面向的是更完整的检索:全文、数值、向量、地理和混合查询,还能对 Hash 或 JSON 建索引。

需求更自然的选择判断依据
只做相似度召回,属性过滤简单Vector Sets接受专用数据模型,优先要低心智负担
全文 + 向量 + 数值条件Redis Query Engine需要 FT.SEARCH 或 FT.HYBRID 的查询组合
已有 Hash/JSON 索引体系Redis Query Engine希望沿用现有文档和索引边界
Redis Vector Sets 与 Redis Query Engine 能力边界说明图,展示 VSIM、FT.SEARCH、FT.HYBRID 及检索类型的关系
图2:Redis 检索能力边界说明图,比较 Vector Sets 与 Query Engine 的职责范围。

这项变化会怎样影响 AI 应用架构

第一,原型阶段可以减少“缓存、会话、向量召回各放一个系统”的拼接成本;第二,数据模型更贴近 Redis,开发者能用熟悉的 key 和命令管理候选项;第三,选型责任更明确:轻量向量召回采用 Vector Sets,复杂过滤和混合搜索仍由 Query Engine 承担。

但这不是“向量数据库问题已经被解决”。Vector Sets 的 beta 历史、命令和 API 兼容性要按目标 Redis 版本确认;向量量化会影响内存与精度,HNSW 参数会影响召回与资源开销,规模增长后还要验证持久化、复制、分片和客户端支持。新闻带来的正确动作不是立即替换现有系统,而是拿一小组真实 embedding 做版本固定的对照实验。

一份可执行的采用清单

  • 固定 Redis 版本,确认目标发行版确实提供 VADD、VSIM 和所需过滤能力。
  • 记录模型维度、距离度量、量化设置和元素 ID 规则,禁止同一集合混入不同维度。
  • 分别测相似度召回、属性过滤和重启恢复,别只看一次查询能否返回结果。
  • 当需求出现全文、数值、地理或复杂混合条件时,重新评估 Query Engine,而不是继续堆 VSIM 过滤。

常见问题

Vector Sets 是 Redis Sorted Set 的替代品吗?

不是。Sorted Set 以 score 排序,Vector Sets 以向量相似度检索成员;两者解决的排序依据不同。

Vector Sets 是否等于完整向量数据库?

不能直接画等号。它是 Redis 中面向向量相似度的专用类型,完整全文、数值、混合检索和更复杂索引需求应评估 Redis Query Engine 或其他专用方案。

为什么要先确认维度和量化?

维度决定向量是否能放入同一集合,量化会在内存占用、速度和相似度精度之间做取舍;这两项一旦写入生产数据,后续迁移成本都不低。

因此,“纳入核心数据类型”的工程含义是 Redis 给向量数据提供了更原生的落点。它让轻量相似度场景更容易开始,也让复杂检索的分工更容易被说清楚;真正的架构收益,取决于你是否把场景边界和版本验证一起写进方案。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>