Redis 的演进之路:从缓存到 AI 数据库(V1.0至8.4)

news/2026/1/23 17:24:29/文章来源:https://www.cnblogs.com/abclife/p/19523312

Redis 的演进之路:从缓存到 AI 数据库(V1.0至8.4)

2026-01-23 17:19  abce  阅读(0)  评论(0)    收藏  举报

最近闲来无事,在重新翻看 redis 书籍和笔记。被这个标题吸引了,所以翻译看看。

原文:The Evolution of Redis: From Cache to AI-Database (V1.0 to 8.4)

 

Peter Zaitsev,我们的创始人之一,在2009年 Redis (Remote DIctionary Server) 刚出现时就对其开始了研究 (参考:https://www.percona.com/blog/looking-at-redis/),这让我不禁感慨这个项目在十六年间的发展历程------它已从简单的键值存储演变为包含向量搜索的多模型平台。本文将从四个不同时代来梳理这一发展历程。

 

2010 ------ 2015 ------ 2020 ------ 2025

v1.0 v2.6 v3.0 v5.0 v6.0 v7.0 v8.4

 

注:2024年Redis 转为 "source-available" (源码可用)(2025年改为 AGPL),由此催生了 Valkey------基于v7.2分叉的开源项目,延续BSD许可。本文聚焦 Redis 的技术演进;截至撰稿时,两个项目仍保持高度兼容性。

 

Redis 发展的基石:数据结构服务器时代(v1.0 – v2.8)

核心数据结构的确立(v1.0 – v1.2)

Redis 1.0(2010年) 引入了基础的数据结构:字符串、列表和集合。相较于 Memcached 仅能存储不透明的二进制数据块,Redis 允许在服务器端直接操作这些数据结构。字符串是二进制安全的,可存储任何类型的数据,最大容量高达512MB。列表采用双向链表实现,压入/弹出 (push/pop) 操作的时间复杂度为O(1),这使得 Redis 非常适合用作任务队列。

持久化机制提供了两种形式:基于时间点备份的RDB快照,以及v1.1引入的 AOF(Append-Only File),AOF 会记录每一个写操作。这两种模型让用户可以在性能和数据持久性之间进行权衡。

功能扩展(v2.0 – v2.8)

Redis 2.0新增了哈希(一个键内的字段-值对集合)和有序集合——后者或许是最具创新性的结构,它结合了集合的唯一性和数值评分,支持O(log N)复杂度的范围查询,从而实现了实时排行榜和滑动窗口速率限制器。

版本2.2引入了内存高效的编码方式。对于小数据集,使用 "ZipList" (紧凑的连续内存块)替代指针繁多的哈希表,显著降低了内存开销。

一个重大变化发生在v2.6(2012年),该版本加入了 Lua 脚本。开发者自此可以在服务器上原子性地执行复杂操作,消除了"获取-检查-设置"这类模式所需的网络往返。此版本还标准化了 RESP2 协议,该协议设计为人类可读的且高效的。

 

扩展分布式系统时代(v3.0 – v5.0)

Redis集群(v3.0)

Redis 3.0(2015年)通过Redis集群实现了水平扩展。它并未采用一致性哈希,而是使用了16,384个

"哈希槽",每个键通过 slot = CRC16(key) %16384 的取模公式分配槽位。节点/分片拥有这些槽位的子集,使得Redis能够跨多台机器分片数据集,并在部分节点故障时继续运行。

版本3.2新增了"保护模式"作为安全措施,以解决 Redis 实例暴露的问题。如果 Redis 以默认配置启动且未设置密码,它将仅响应来自本地主机的查询。此版本还利用 Sorted Sets 和 Geohashing 引入了地理空间索引。

可扩展性与流处理(v4.0 – v5.0)

Redis 4.0(2017年)引入了API模块,使得诸如 RediSearch、RedisJSON 和 RedisGraph 等扩展成为可能。这些模块可以以原生性能实现新的数据类型和命令。该版本还带来了"惰性删除"(UNLINK命令),可以在后台线程中删除大键,从而防止阻塞事件。

Redis 5.0(2018年)增加了流------一种仿照 Kafka 设计的仅追加日志。其定义性特性是"消费者组",支持多个客户端通过确认机制协同处理事件数据,并能自动回收故障消费者的消息。

 

企业级需求:安全与性能时代(v6.0 – v7.4)

访问控制与多线程(v6.0)

Redis 6.0(2020年)超越了单一 AUTH 密码,引入了访问控制列表,支持针对特定命令或键匹配的细粒度用户权限。原生的TLS支持为所有流量提供加密。

通过多线程I/O提升性能。虽然命令执行仍保持单线程(以保持原子性),但从套接字读取操作和格式化响应的任务移到了后台线程。这解决了高并发环境中出现的I/O瓶颈。

RESP3协议

RESP3通过为映射、集合和双精度浮点数引入原生类型,增强了客户端能力。在 RESP2 中,复杂类型以简单数组返回,客户端需要根据命令上下文解释结果。RESP3 还添加了用于 out-of-band 的"推送"类型,实现了客户端缓存功能——当缓存的键被修改时,Redis 会通知客户端。

架构改进(v7.0)

Redis 7.0(2022年)引入了 "Redis函数",将 Lua 脚本演进为一等公民的数据库元素,只需加载一次即可被任何客户端调用。这将服务器端逻辑与应用代码解耦。

该版本通过多部分 AOF(Multi-part AOF)从根本上改变了 AOF 持久化机制。以往,AOF 重写需要一个重写缓冲区来捕获并发写入,导致内存激增。Multi-part AOF将 AOF 拆分为一个"基础"文件(快照)和多个由清单跟踪的"增量"文件,从而消除了重写缓冲区。

特性

版本

影响

Redis 集群

3.0

通过哈希槽实现水平扩展

Lua 脚本

2.6

原子性的服务器端操作

API模块

4.0

可扩展的数据类型

访问控制列表

6.0

细粒度的安全控制

多线程 I/O

6.0

后台 I/O 处理

Multi-part AOF

7.0

消除了重写缓冲区的开销

 

人工智能:多模态平台时代(v8.0 – v8.4)

融合平台(v8.0)

Redis 8.0将之前独立的 "Redis Stack" 模块集成到核心中,将 Redis 转变为多模型数据库。"Redis Query Engine"------由 RediSearch 演进而来——使得在一个系统中实现二级索引、全文搜索和向量相似性搜索成为可能。

新的集成数据结构包括:

• JSON:支持 JSONPath 的原生文档存储

• 时间序列:优化的时间戳数据存储

• 向量集合:用于AI语义搜索的高维数据

• 概率结构:布隆过滤器、Count-min sketch、Top-K

通过优化的命令路径和异步I/O线程,性能提升达到87%延迟降低和2倍吞吐量提升。通过同时传输基础和增量数据,复制速度提高了18%。

线程模型的演进

从单线程到多线程的历程代表了架构的精心演进历程:

• v1.0 – v5.0:主线程处理一切——套接字读取、协议解析、命令执行、响应格式化、套接字写入。

• v6.0:I/O线程处理套接字操作和协议格式化,而主线程原子性地执行命令。

• v8.0:对I/O线程进行增量改进。

• v8.4:分配给特定客户端的I/O线程处理完整的读取/解析周期。主线程处理批量已解析的查询并生成回复,然后由I/O线程写回。这在8核系统上带来了高达112%的吞吐量提升。

近期创新(v8.2 – v8.4)

Redis 8.2引入了向量压缩(BF16和FP16类型),减少了AI嵌入向量的内存占用。CLUSTER SLOT-STATS命令提供了每个槽位的CPU、网络和键数指标。

Redis 8.4新增了 FT.HYBRID 命令,用于 "hybrid search" ------在单个查询中结合全文关键词和语义向量相似性。通过"内联"数值和短字符串,JSON数组的内存效率提升了高达92%。

 

关键趋势与启示

• 超越缓存:Redis 的演进证明,高性能内存系统必须能够超越简单的缓存。随着 RAM 变得更便宜,用户需要复杂的查询能力。

• 开发者体验即战略:Redis 的成功源于它将编程语言的数据结构(列表、集合、哈希)直接映射到数据库。JSON 和向量集合的集成延续了这一模式,以服务于 Web 开发和 AI 应用。

• 单线程限制:虽然单线程简化了 Redis 并提供了确定性行为,但在现代多核 CPU 上最终遇到了性能瓶颈。谨慎的线程演进——将除内存变更之外的所有任务卸载——展示了如何在保持原子性等基本保证的同时实现架构现代化。

 

结论

Redis 从2009年的一个原型演变为世界上最受欢迎的内存数据平台,其驱动力在于对"数据局部性"的追求——将数据存储在符合使用场景的结构中,并将逻辑与数据一起执行。十六年来,其在性能和扩展性等方面持续改进。向量集合和混合搜索的加入,将使其保持深受开发者喜爱的地位,并继续在新的应用场景中保持相关性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1205895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深耕二十载智造加热芯!郑州恒达感应加热设备引领华中产业升级

深耕二十载・智造加热芯!郑州恒达感应加热设备引领华中产业升级一、二十载深耕郑州 恒达感应加热设备筑牢产业根基(一)2007 年启程 科技服务型企业扎根荥阳产业园在华中地区规模超 27 亿元的感应加热市场中,郑州恒…

深耕二十载,领跑感应加热新时代——郑州恒达感应加热设备赋能制造业升级

深耕二十载,领跑感应加热新时代 —— 郑州恒达感应加热设备赋能制造业升级一、企业初心:二十载深耕,铸就感应加热领域标杆在 “双碳” 战略深入推进的今天,感应加热设备凭借高效节能的核心优势,正成为制造业绿色转…

9个降AI率工具推荐!继续教育学员必看

9个降AI率工具推荐!继续教育学员必看 AI降重工具:让论文更自然,让学术更安心 在当前的学术环境中,越来越多的高校和机构开始采用AIGC检测系统来评估论文的原创性。对于继续教育学员来说,如何在保证内容质量的同时有效…

如何成为一名黑客?小白必学的11个基本步骤,从零基础入门到精通,看完这一篇就够了!

前言 黑客攻防是一个极具魅力的技术领域,但成为一名黑客毫无疑问也并不容易。你必须拥有对新技术的好奇心和积极的学习态度,具备很深的计算机系统、编程语言和操作系统知识,并乐意不断地去学习和进步。 如果你想成为一名优秀的黑客&#xf…

全网最全专科生AI论文平台TOP8测评

全网最全专科生AI论文平台TOP8测评 2026年专科生AI论文写作平台测评:为何选择这些工具? 随着人工智能技术的不断发展,越来越多的专科生开始借助AI论文写作平台来提升学习效率和论文质量。然而,面对市场上琳琅满目的工具&#xff0…

JS逆向学习 加密站点的渗透测试!

加密站点的渗透测试 在银行、保险、证券、能源、通信等行业的IT系统中,使用数据加密传输、API接口保护、关键参数签名防篡改等保护手段都是比较常见。开发人员应用这些手段和技术,能大大增加攻击者的攻击成本。但这些手段却不能百之百防止“黑客”入侵&…

2026低端运维有更好的出路吗?比起死磕运维技术或许转行才是更优解!

运维工程师转行网络安全是职业发展路径中比较常见的一种转行,这种转行通常基于以下几个原因和优势: 一、原因和优势 1.技能相关性:运维工程师通常负责维护和管理企业的IT基础设施,包括服务器、网络和存储系统。这些工作内容与网…

Java毕设选题推荐:基于springboot的高校二手市场交易系统基于Spring Boot+MySQL的校园二手交易系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

计算机Java毕设实战-基于Spring Boot+vue+MySQL的校园二手交易系统基于springboot的高校二手市场交易系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java计算机毕设之基于springboot+vue的高校二手市场交易系统基于SpringBoot的校园二手物品交易平台系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设项目:基于springboot的高校二手市场交易系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设项目:基于Web的商品预购平台的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【课程设计/毕业设计】基于SpringBoot的校园二手物品交易平台系统基于springboot的高校二手市场交易系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【毕业设计】基于springboot的高校二手市场交易系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【毕业设计】基于Web的商品预购平台的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

公司发的京东e卡回收操作注意事项一览

逢年过节或公司福利发放时,京东e卡是不少人会收到的馈赠。若你手中的京东e卡暂时用不上,闲置一旁难免可惜,回收便成了合理的处理方式。不过,回收过程中有不少细节需要留意,才能让整个过程顺利完成。下面就从回收的…

JSR-250JavaEE规范

JCP(Java Community Process):Java 社区进程,是制定所有 Java 官方规范的权威组织(由 Oracle 主导,各大厂商 / 社区参与),简单说就是 “Java 规范的立法机构”; JSR(Java Specification Request):Java 规范…

现阶段1000瑞祥卡最高可回收多少(实测)

手里有闲置的1000面值瑞祥卡,却不知道该如何处理,这是很多人都会遇到的问题。留着不用会慢慢浪费,拿去回收又担心价格太低,得不到合理的回报。到底现阶段1000面值瑞祥卡回收能拿到多少?怎样做才能让回收价格最大化…

2026年1月西安激光切管加工厂家推荐:硬核设备赋能高效生产,双强企业优选指南

在西安激光加工行业,激光切管凭借高精度、高效率的优势,成为灯杆制造、护栏加工、建筑钢结构等领域的核心支撑。2026年初,市场对激光切管的加工精度、产能及个性化服务需求持续升级,选择兼具实力与口碑的厂家尤为关…

2026国内最新近红外光谱仪实力厂家top5推荐!上海等地近红外光谱仪公司权威榜单发布,技术创新与精准分析助力科研与工业发展

随着光谱分析技术在科研、工业、环保等领域的应用不断深化,近红外光谱仪作为高效、快速的分析工具,市场需求持续攀升。据中国仪器仪表行业协会最新数据显示,2025年国内近红外光谱仪市场规模同比增长22%,但进口品牌…