Redis 8.0 深度分析

Redis 8.0:
向量数据与全文索引的
革命性演进

深入解析 Redis 最新版本在人工智能时代的数据处理能力变革

2025年7月 深度阅读 向量搜索, 全文索引, AI应用

性能突破

命令执行速度 提升87%
查询处理能力 提升16倍
内存节省 35%

核心特性

  • Vector Set 数据结构
  • Redis Query Engine
  • 内置模块整合
  • 多线程支持

Redis 最新版本概述

Redis 作为一款广受欢迎的开源内存数据结构存储,其最新版本在性能、功能和易用性方面均有显著提升,特别是在支持现代应用如人工智能和实时数据分析方面。

核心洞察

Redis 8.0 标志着 Redis 的一个重大转变,引入了多项核心增强功能和新特性,旨在提升性能、扩展性,并更好地支持现代应用场景,特别是人工智能(AI)相关的用例。

Redis 7.2 版本特性

Redis 7.2 版本,尤其是其企业版(Redis Enterprise Software),带来了一系列重要的更新和改进。根据 2023 年 8 月发布的 7.2.4-52 版本,Redis 7.2 引入了对开源 Redis 7.0 和 7.2 核心功能的支持,包括 RESP3 协议的支持和分片发布/订阅功能

主要增强

  • 自动分层(Auto Tiering):Redis on Flash 的增强后继者
  • 新的集群管理器用户界面预览
  • Redis Stack 7.2 相关功能
  • 三个 Redis 数据库版本支持

安全性改进

  • Redis ACL 选择器
  • 增强的基于键的权限控制
  • 改进的日志轮换机制
  • 多操作系统升级的集群模块

后续的 Redis 7.2.4 子版本持续进行了优化和问题修复。例如,7.2.4-64 版本(2023 年 9 月发布)改进了手动上传模块的集群恢复能力,支持包中包含了 supervisorctl status,并允许使用 rladmin 和 REST API 配置端口范围,同时许可证 API 能够返回已使用的分片数量(RAM 和闪存)。

安全修复重点

Redis 7.2.2 修复了CVE-2023-45145安全问题,涉及 listen(2)chmod(2) 调用顺序不当导致的竞态条件,可能允许其他进程绕过预期的 Unix 套接字权限。Redis 7.2.1 修复了CVE-2023-41053,即 Redis 未能正确识别 SORT_RO 命令访问的键。

Redis 8.0 版本特性与发布状态

Redis 8.0 标志着 Redis 的一个重大转变,引入了多项核心增强功能和新特性,旨在提升性能、扩展性,并更好地支持现代应用场景,特别是人工智能(AI)相关的用例。该版本于 2025 年 5 月正式发布(GA) [5], [6]

模块整合

将 RediSearch、RedisJSON、RedisTimeSeries 和 RedisBloom 等功能整合到 Redis 核心中

查询引擎

引入 Redis Query Engine,支持向量搜索、全文搜索、地理空间查询和聚合操作

性能飞跃

超过 30 项优化,命令执行速度提升高达 87%,查询处理能力提升高达 16 倍

全新数据结构

Redis 8.0 引入了 8 种新的数据结构,包括 JSON 文档数据类型、时间序列数据类型,以及五种概率数据结构:布隆过滤器(Bloom filter)、布谷鸟过滤器(Cuckoo filter)、Count-min sketch、Top-k 和 t-digest [6], [24]

特别关注

特别值得关注的是新增的 Vector Set 数据结构(目前处于 Beta 阶段),专为高维向量相似性搜索而设计,适用于语义搜索和推荐系统等 AI 应用场景 [8], [20]

版本发布历程

8.0.0 - 2025年5月2日:正式发布 [5]
8.0.1 - 2025年5月13日:性能改进和bug修复 [4]
8.0.2 - 2025年5月27日:安全修复(CVE-2025-27151) [4], [5]
8.0.3 - 2025年7月:安全修复和新特性(VSIM WITHATTRIBS) [6]

Redis 官方核心功能对向量数据的支持

Redis 8.0 版本在其核心功能中显著增强了对向量数据的原生支持,这主要体现在新引入的 Vector Set 数据类型上。

Redis 8.0 引入 Vector Set 数据类型

Redis 8.0 版本在其核心功能中引入了一种名为 Vector Set 的全新数据结构,这标志着 Redis 在支持人工智能(AI)和机器学习(ML)应用方面迈出了重要一步 [8], [20]

设计理念

Vector Set 目前处于 Beta 测试阶段,其设计目标是高效地存储和查询高维向量嵌入(vector embeddings),从而直接支持向量相似性搜索 [6], [21]

根据 Redis 的创始人 Salvatore Sanfilippo 的介绍,Vector Set 的设计灵感来源于 Redis 已有的高效有序集合(Sorted Set)数据结构,并将其概念扩展到能够处理高维向量嵌入 [23]

创始人观点

"与许多其他数据库将向量相似性作为一种索引功能不同,Redis 的核心哲学是将功能实现为数据结构,Vector Set 正是这一理念的体现"
— Salvatore Sanfilippo

Vector Set 的引入,使得 Redis 不仅仅是一个缓存或键值存储,而是朝着一个更全面的"智能数据平台"发展 [21]。它直接内置于 Redis 8.0 的核心中,用户无需安装额外的模块即可使用。

Vector Set 的特性与用途

Vector Set 作为一种新的 Redis 数据结构,其核心特性是支持高维向量的存储和高效的相似性搜索。它专为处理向量嵌入而设计,这些嵌入通常是由机器学习模型(如文本嵌入模型、图像识别模型等)生成的数值数组,用于表示复杂数据(如文本、图像、音频)的语义信息 [12], [19]

技术优化

HNSW 算法优化

对 HNSW(Hierarchical Navigable Small World)算法进行了重新实现和优化

多线程处理

引入多线程处理以加速所有向量相似性请求

量化技术

支持 8 位和二进制量化技术,提升性能和减少存储开销

性能指标

数据集规模 10亿个768维向量
插入速率(高精度) 66,000 向量/秒
插入速率(低精度) 160,000 向量/秒
查询延迟(90%精度) 200ms
查询延迟(95%精度) 1.3s

主要应用场景

语义搜索

将用户查询转换为向量,查找语义最接近的文档

推荐系统

通过向量相似性计算发现相关物品或用户

异常检测

比较新数据点与正常行为向量的相似性

图像检索

基于内容的图像相似性搜索

Redis 8.0.3 版本还为 VSIM 命令(推测为 Vector Set 相关命令)新增了 WITHATTRIBS 选项,用于返回与元素关联的 JSON 属性,这进一步增强了 Vector Set 在实际应用中的灵活性和实用性 [6]

RediSearch 模块对向量数据和全文索引的支持

RediSearch 作为 Redis 强大的搜索和索引模块,在 Redis 8.0 中其地位和功能得到了进一步的整合与增强,特别是在向量数据和全文索引方面。

RediSearch 在 Redis 8.0 中的整合与地位

在 Redis 8.0 版本中,RediSearch 模块的地位发生了根本性的变化。此前,RediSearch 作为一个独立的 Redis 模块提供,用户需要单独下载、安装并确保其版本与 Redis 核心兼容。然而,从 Redis 8.0 开始,RediSearch 的功能被深度整合到 Redis 核心中,成为其不可或缺的一部分,并被称为 Redis Query Engine [6], [8]

整合优势

  • 无需单独安装和管理
  • 消除版本不匹配问题
  • 统一的 Redis 发行版体验
  • 更紧密的核心集成

内置功能

  • 二级索引
  • 全文搜索
  • 向量相似性搜索
  • 聚合功能

根据 Redis 官方的说明,Redis 8.0 将 RediSearch、RedisJSON、RedisTimeSeries 和 RedisBloom 等之前独立的模块都集成到了 Redis Open Source 的核心中 [6], [24]

GitHub 上 RediSearch 项目的 README 文件也明确指出,从 Redis 8 开始,Redis Query Engine (RediSearch) 是 Redis 的组成部分,不再需要单独安装此模块,并且不再发布独立的 RediSearch 模块版本 [26]

RediSearch 对全文索引的支持

RediSearch 模块,作为 Redis 8.0 中内置的 Redis Query Engine 的核心组件,提供了全面且强大的全文索引和搜索功能 [14], [15]

高级搜索特性

词干提取(Stemming)

将单词还原为词干形式,提高搜索召回率

同义词扩展

支持同义词扩展,增强搜索灵活性

模糊匹配

支持模糊匹配,容忍拼写错误

前缀/后缀搜索

支持前缀和后缀搜索

查询语法

AND, OR, NOT 布尔操作符
"phrase search" 短语搜索
wild* 通配符搜索
@title:redis 字段级搜索
SORTABLE 可排序字段

重要说明

Redis Query Engine 目前仅支持基本多语言平面(Basic Multilingual Plane, BMP)内的 Unicode 字符(U+0000 到 U+FFFF),超出此范围的字符(如 Emoji)在特定全文搜索操作(如前缀/后缀/中缀查询、模糊查询)中可能无法被正确检索 [14]

Redis 8.0 中 RediSearch 与 Vector Set 的关系

在 Redis 8.0 中,RediSearch(作为 Redis Query Engine)与新引入的 Vector Set 数据类型共同构成了 Redis 向量数据处理能力的核心,它们之间既有分工也有协作。

RediSearch 作为查询引擎的角色

在 Redis 8.0 中,RediSearch 的功能被整合并强化为 Redis Query Engine,扮演着核心的查询处理和分析角色 [6], [8]

功能范围

这个引擎不仅仅局限于传统的全文搜索,而是扩展到了更广泛的数据查询领域,包括对结构化数据(如哈希、JSON)、时间序列数据、概率数据结构以及至关重要的向量数据的查询。

Redis Query Engine 允许用户在这些不同类型的数据上定义复杂的索引,并使用一种统一的、强大的查询语言来检索和操作数据 [8], [20]

可扩展性

Redis 8.0 引入了对查询引擎的水平和垂直扩展支持,这意味着它可以处理更大规模的数据集和更高的查询吞吐量 [6], [23]

官方宣称可提供高达 16 倍的查询处理能力提升 [8], [23]

这种可扩展性使得 Redis Query Engine 能够胜任从简单的键值查找、文档数据库查询到复杂的 AI 驱动向量搜索等多种应用场景,例如构建检索增强生成(RAG)系统或功能齐全的搜索引擎 [8], [20]

Vector Set 与 RediSearch 向量搜索能力的互补

在 Redis 8.0 中,新引入的 Vector Set 数据结构与 RediSearch(作为 Redis Query Engine 的一部分)提供的向量搜索能力之间存在着一种互补和增强的关系,而非简单的替代 [8], [20]

RediSearch 向量搜索

  • 向量存储在哈希或 JSON 文档中
  • 支持 FLAT, HNSW 等多种索引类型
  • 强大的混合查询能力
  • 结合文本、标签、地理空间等过滤
  • 适用于复杂 AI 应用场景

Vector Set

  • 原生的 Redis 数据结构
  • 字符串元素直接关联向量
  • 基于优化的 HNSW 算法
  • 极致的纯向量搜索性能
  • 适用于性能要求极高的应用

RediSearch 与 Vector Set 向量搜索能力对比

特性 RediSearch (Redis Query Engine) Vector Set (Redis 8.0 Core)
定位 强大的查询引擎,支持多种数据类型和复杂查询 原生的、专门化的向量数据结构
数据模型 向量存储在哈希或 JSON 文档中,作为字段的一部分 字符串元素直接关联向量
索引 支持 FLAT, HNSW 等多种索引类型,可配置参数 基于优化的 HNSW 算法
查询能力 KNN 搜索, 范围查询, 强大的混合查询 KNN 搜索, 支持标量过滤器
性能关注点 综合查询性能,灵活性高 极致的纯向量相似性搜索性能
适用场景 需要复杂过滤、聚合、与其他数据类型联合查询的 AI 应用 对性能有极致要求或场景相对简单的纯向量应用

互补关系

官方文档明确指出,Vector Set 是对 RediSearch 现有向量搜索能力的"补充"(complements) [8], [20]。这意味着开发者可以根据具体需求选择使用 RediSearch 的混合搜索能力,或者利用 Vector Set 进行更专注于向量本身的快速相似性查找。

总结与展望

能力总结

Redis 的最新版本,特别是 Redis 8.0,在向量数据和全文索引方面展现了显著的增强和整合,标志着其从一个高性能的键值存储系统向一个更全面的实时数据平台演进。

全文索引方面

通过内置的 Redis Query Engine,提供强大的全文搜索能力,支持词干提取、同义词扩展、模糊匹配等高级特性

向量数据支持

引入双重能力:Redis Query Engine 的向量相似性搜索和 Vector Set 原生数据结构

性能优化

大量性能优化,为处理大规模向量和全文数据提供坚实基础

未来展望

展望未来,Redis 在向量搜索功能方面的发展前景广阔,预计将继续深化其在 AI 和机器学习生态中的角色。

Vector Set 成熟化

从 Beta 阶段走向正式发布,API 更加稳定,功能更加完善

查询引擎增强

引入更多向量索引算法,提供更灵活的查询参数配置

能力融合

进一步融合 Vector Set 的原生能力与 RediSearch 的查询灵活性

管理与安全

引入向量数据管理和安全性方面的新特性

核心结论

Redis 8.0 通过其核心功能和整合的 RediSearch,为处理现代 AI 应用中的向量数据和全文检索需求提供了全面的解决方案。从高性能的 Vector Set 数据结构到强大的 Redis Query Engine,Redis 正在重新定义自己在人工智能时代的数据处理能力边界。