Redis 8.0
官方文档:https://redis.io/docs/latest/develop/whats-new/8-0/
Redis 8.0 的新特性
Redis 8.0 引入了强大的新功能,包括 Vector Set 数据结构的 beta 版本,该结构专为语义搜索和推荐系统等 AI 应用场景而设计。
该版本还提供了 30 多项性能改进,包括:
- 命令执行速度提高 87%
- 复制速度提升高达 18%
此外,Redis 社区版已更名为 Redis 开源,标志着向统一、现代发行版的转变。这个版本提供了 Redis 的全部功能 —— 没有模块,没有碎片化 —— 只有 Redis。
下面是这些更新的详细分析。
新功能
向量集 [beta]
新的矢量集数据结构支持高维矢量最近邻搜索,这非常适合语义搜索和推荐系统等人工智能应用场景。矢量集通过查询引擎补充了 Redis 现有的矢量搜索功能,目前已发布 beta 版本。未来版本中的 API 和行为可能会有所变化。
新的哈希命令
Redis 8 基于 Redis 7.4 引入的字段级哈希过期,并添加了三个新的哈希处理命令:
- HGTEX: 获取哈希字段并选择性地设置过期
- HSETEX: 设置哈希字段并选择性地设置过期时间
- HGETDEL: 获取并删除哈希字段
这些命令简化了常见的缓存和会话管理使用模式。
改进
Redis 查询引擎的改进
Redis 查询引擎允许用户将 Redis 用作文档数据库、向量数据库、二级索引和搜索引擎。使用 Redis 查询引擎,用户可以为哈希和 JSON 文档定义索引,并使用丰富的查询语言进行向量搜索、全文搜索、地理空间查询和聚合。
使用案例包括:
- 向量搜索:基于语义相似性的搜索,使用存储在 JSON 或哈希中的向量嵌入
- 精确匹配:使用过滤器、标签和范围进行查找
- 全文搜索:支持词干、同义词和模糊匹配
Redis 查询引擎支持广泛的应用,从人工智能检索增强生成 (RAG) 系统到全功能搜索引擎。
访问控制改进
访问控制列表 (ACL) 已经更新,以支持 Redis 8 中引入的新数据结构。现有的 ACL 类别如 @read 和 @write 现在包括 JSON、时间序列、VECTOR 和概率数据结构的命令。
这些更新允许对用户可以对每个数据结构执行哪些操作进行更精确的控制。
性能改进
Redis 8 提供了 Redis 历史上最大的性能飞跃,包括 30 多项优化,其中包括:
- 命令延迟降低高达 87%
- 副本节点节省 35% 的内存
- 通过水平和垂直扩展将查询处理能力提高 16 倍
这些改进既有利于单节点部署,也有利于集群部署。更多详细信息可以在 Redis 8 GA 博客文章中找到。
变更
突破性变更
ACL 行为
包含的模块中的命令现在被包含在标准类别下 (例如,+@read、+@write)。例如,使用 +@all -@write 的用户将无法再像以前那样执行 JSON.SET。需要明确包含新的命令类别才能维持访问权限。
Redis 查询引擎
以下变更影响 Redis 查询引擎中的行为和验证:
- 强制验证 LIMIT 参数 (如果 limit 为 0, 则偏移量必须为 0)。
- 强制执行 FT.CURSER READ 和 FT.ALISADD 的解析规则。
- APPLY 表达式中的指数优先级现在需要使用括号。
- 无效输入现在返回错误,而不是空结果。
- AVG、COUNT、SUM、STDDEV、QUANTILE 等减法器的默认值已重新审视。
- 更新了评分 (BM25 现在是默认值,取代了 TF-IDF)。
- 改进了对过期记录、内存限制和畸形字段的处理。
有关 Redis 查询引擎相关变更的完整列表,请参阅发布说明。
其他变更
一个 Redis
随着时间的推移,Redis 引入了几个模块来解决新的使用案例,如搜索、向量相似性、时间序列分析和概率建模。虽然这些模块扩展了 Redis 的功能,但版本兼容性管理和模块安装也带来了摩擦。
Redis Stack 通过将模块捆绑在一起部分解决了这个问题,但它也在整个生态系统中造成了碎片化。
Redis 8 将 Redis Stack 和 Redis Community Edition 合并为一个统一的发行版:Redis Open Source。所有之前的模块化功能现在都内置在 Redis Open Source 包中,无需管理单独的模块。您现在可以在所有部署中获得一个单一、一致的功能集。
组件版本
Redis 8.0 只提供 Redis—— 没有模块,没有碎片化。
最后编辑:Jeebiz 更新时间:2025-11-18 10:09