本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
【腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
使用 Spring AI 的朋友们不知道有没有注意到,Redis 已经上了 AI 的牌桌了。现在的 Redis 已经杀进向量数据库赛道,提供亚毫秒级语义检索。
要知道在 Redis 8.0 之前,向量数据库要靠 Milvus、Pinecone、PG 等专业向量数据库打天下,而现在的 Redis 已悄然完成了一次“身份升级”,它不再只是那个快如闪电的缓存了。
它摇身一变,成为了一套内存级的向量检索引擎。亚毫秒延迟、一站式架构、零额外学习成本 …… 没想到 Redis 在 AI 时代还有王炸。
向量检索
很多人对 Redis 的印象还停留在 SET/GET 键值对。但 Redis 8 已经原生引入了 Vector Sets 数据类型,通过 VADD、VSIM 等命令即可直接操作向量。而在 Redis 7.x 时代,通过 Redis Stack(RediSearch + RedisJSON 模块)就已经实现了完整的向量检索能力。
Redis 在缓存时代杀疯了,但现在是 AI 时代,向量检索被摆上台前了。Redis 跟紧时代,推出了Vector Sets,这意味着我们不需要再引入一个新的数据库组件,现有的 Redis 集群就能直接承载向量检索任务。
Redis 向量检索的延迟稳定在 亚毫秒级,远超磁盘型向量数据库。在实时推荐、在线客服等高并发场景中,这意味着对话响应速度可以提升 3~10 倍。
同时,Redis 还支持在一条查询中同时完成下面任务。
- 向量相似度搜索(KNN、范围查询)
- 标量过滤(价格区间、时间范围、权限标签)
- 全文检索(关键词匹配)
这种混合查询能力,是专业向量数据库往往难以一站式提供的。
架构瘦身
采用 Redis 来进行向量检索往往能给架构带来瘦身效果。
在此之前,传统 AI 应用架构往往是这样的:向量数据库(Milvus)+ 缓存(Redis)+ 消息队列(Kafka)+ 会话存储(Redis)+ 关系数据库(MySQL)。
这导致组件越来越多,运维越来越复杂,越来越痛苦。而 Redis 向量能力的出现,让 缓存、向量检索、消息队列、会话管理可以收敛到同一个技术栈中。
同时,它还能解决一部分 LLM 调用的“烧钱”问题。可以用它来进行语义缓存(Semantic Caching)。实现起来的原理很简单,把用户的历史提问转成向量存进 Redis,当新提问进来时,先查向量相似度。如果命中语义相近的问题,直接返回缓存答案,无需再调用 OpenAI/Claude API。
根据老外测算,这种方式可以节省 高达 30% 的 LLM API 调用成本。
另外,在检索增强生成(RAG)场景中,单纯靠向量相似度检索,容易召回不相关文档。Redis 的混合查询能力可以精准过滤文档权限、业务标签、时间范围,大幅提升 RAG 回答的准确率。
最后,Redis 的向量检索,还能解决实时性的“天花板”问题。
专业向量数据库虽然能存百亿级向量,但延迟通常在 10ms 以上。Redis 把向量存在内存里,把查询延迟压到亚毫秒级,对于实时推荐、实时欺诈检测等场景,这是决定性的优势。
使用场景
文章配图参见:https://mp.weixin.qq.com/s/sTNyv_7WY9FNZ2ByAYfCbw。
随着 Spring AI 等的流行,Redis 向量检索的使用场景也越来越明确。下面举例 4 个场景,供大家参考!
RAG 系统的热数据层
在 RAG 架构中,Redis 可以作为:
- 向量知识库:存储文档切片向量,供 LLM 检索上下文
- 会话管理器:存储多轮对话历史,支持上下文连贯性
- 语义缓存层:缓存高频问题的 LLM 回答
实时推荐引擎
电商平台的“猜你喜欢”需要毫秒级响应。Redis 向量检索可以在用户点击商品的瞬间,从千万级商品向量中召回 Top-K 相似商品,同时用标量过滤筛掉库存不足或不符合用户偏好的商品。
之前的电影推荐系统,不知道还有多少人记得,现在有了 Redis 向量检索,实现起来就更简单了。
多模态内容检索
将图片、视频、音频通过多模态模型转成向量存入 Redis,用户上传一张图,系统秒级返回相似图片或相关视频——延迟低到用户几乎无感知。
实时欺诈检测
把交易行为特征向量化,Redis 实时比对历史欺诈案例向量。发现相似模式立即拦截,整个流程在毫秒级完成。
Spring AI + redis
Redis 向量功能对 Java 生态非常友好,主流方案有三种,Jedis 原生 API、Spring AI、LangChain4j 等。
这里以 Spring Boot + Spring AI 为例,简单讲一讲,集成几乎零成本。
首先是引入依赖。
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-redis-vectordb</artifactId>
<version>${spring-ai.version}</version>
</dependency>
然后是连接配置。
spring:
ai:
redis:
vectordb:
enabled: true
host: localhost
port: 6379
index-name: spring-ai-vectors
最后是使用。
@Service
public class VectorService {
@Autowired
private VectorStore vectorStore;
public void storeDocument(String id, String text, float[] embedding) {
Document doc = new Document(id, text, Map.of("source", "blog"));
vectorStore.add(List.of(new Document(id, text, Map.of()),
new Embedding(embedding)));
}
public List<Document> search(String query, float[] queryEmbedding, int topK) {
return vectorStore.similaritySearch(
SearchRequest.query(query)
.withTopK(topK)
.withSimilarityThreshold(0.7)
);
}
}
Spring AI 框架屏蔽了底层索引创建、向量编码等细节,几行代码就能跑起来,非常适合快速原型。
最后
Redis 向量能力的演进,本质上是一场内存计算对磁盘检索的降维打击。在 AI 应用越来越追求实时性、交互性的今天,亚毫秒级的向量检索不再是锦上添花,而是刚需。
对于大多数 Java 开发者来说,无论是用 Jedis 精细操控、Spring AI 快速集成,还是 LangChain4j 构建 RAG,Redis 向量功能都已经具备了生产级落地的成熟度。
谁能想到在 AI 时代,Redis 靠向量检索上了 AI 的牌桌。

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » Redis 向量检索坐上了 AI 牌桌