大家好,我是R哥。

前几天 Redis 官方发布了一个重磅消息:Redis 8.0 正式发布!这次发布,不仅是版本号的迭代,更是一次态度上的回归——它宣布重新开源了!

你是不是好奇,Redis 本来不就是开源的吗?

不,从 Redis 7.4 开始,它就悄悄把核心协议换了:

没错,Redis 7.4 不是真正的 “开源” 了,它把核心协议换成了 SSPLv1伪开源)、Redis Labs 自己搞的 RSALv2非开源),说白了,就是把 Redis 变成了伪开源,一下把开发者社区都整懵了。。。

其实普通用户不受影响,影响最大的就是云服务商了,被新协议一剑封喉,不再允许云服务商免费使用 Redis 的源代码来托管 Redis,即禁止非授权商业使用。

感觉这一伪开源的本质是,防止云服务商白嫖拿去赚钱

Redis 8.0 新特性

引入 AGPLv3 许可证

Redis 8.0 又正式引入了 AGPLv3 许可证:

此外,Redis 还已经将免费产品的名称从 Redis Redis Community Edition(社区版)更改为 Redis Redis Open Source(开源版),以强调添加了 AGPLv3 许可证。

讲真,这个决定真的有点出乎我意料,但这背后也是有原因的,Redis 需要吸引开源社区贡献代码,使用 AGPL 才能符合 OSI 的开源协议,AGPL 是一个真正被全球开源社区认可的开源协议。

有了 AGPLv3 新许可协议,只要你遵守开源规则,把你改动的代码开源出来,就可以自由使用,云服务商又可以偷着笑了。

新增 8 种数据结构

这次 Redis 8.0 是真有诚意满满,不仅回归开源的本质,其次,它还干了一件事。

Redis 8.0 新增了 8 种数据结构:向量集、JSON、时间序列和 5 种概率结构,包括布隆过滤器、布谷鸟过滤器、计数最小草图、top-k 和 t-digest 等。

这些数据结构,以前是需要装插件模块的,甚至还有的是商业使用的,现在通通变成 Redis 8.0 的标配功能,这一波操作真的良心了。

各方面性能拉满

Redis 8.0 做了非常多底层优化,Redis 8 是迄今为止性能最强、可扩展性最高的 Redis 版本,它拥有超过 30 项性能改进,根据官方的数据:

1、命令执行效率最高提升 87%

Redis 8 中大量命令的单条命令延迟均有所降低,命令延迟减少高达 87%。

如图所示:

提升最大的命令便是 BITMAP,其次是 SET、SORTED-SET

2、每秒吞吐量最高提升 2 倍

Redis 8.0 通过启用多线程,让每秒吞吐量提升 2 倍

虽然从 Redis 6 开始支持 I/O 多线程来处理客户端请求,包括:套接字读写和命令解析,然而,之前的实现并未充分挖掘性能潜力,Redis 8.0 引入了全新的 I/O 线程实现。

Redis 8.0 可以通过设置 io-threads 配置参数(默认值为 1)来启用它。比如,在多核 Intel CPU 上设置为 8 时,官方测试 吞吐量最高可提升 112%,提升幅度可能会有所不同,具体取决于正在执行的命令。

3、主从复制性能提升 18%

Redis 8.0 引入了一种全新的复制机制,它会在复制期间会同时启动两个复制流

这两个复制流的作用:

  • 一个用于传输主节点
  • 一个用于传输在此期间发生的更改

并且,第二阶段不再阻塞等待第一阶段完成。

使用新的复制机制,主节点在复制期间处理写入操作的平均速率提高了 7.5%,复制所需时间也减少了 18%,主节点上的峰值复制缓冲区大小降低了 35%。

4、查询处理能力最高提升了 16 倍

通过水平和垂直扩展查询处理能力最高可提升 16 倍

Redis 8.0 配备了 Redis 查询引擎,它支持两种全新扩展方式:

  1. 第一种方式:支持在集群数据库中进行查询,支持使用索引管理超大型数据集,并通过扩展到更多 Redis 进程来支持更高的读写吞吐量;
  2. 第二种方式:支持添加更强大的处理能力,通过水平和垂直扩展查询吞吐量,从而将吞吐量提升至以往的 16 倍

而这两种方式以前是 Redis Cloud 和 Redis Software 独有的,当两种扩展方式都启用时,Redis 8.0 是市面上速度最快的矢量数据库,如图所示:

在 10 亿级向量规模下,Redis 8 启用实时索引后,每秒可插入最多 16 万条向量(低精度配置),高精度配置下达 6.6 万条。

通过扩展服务器可进一步提升吞吐,搜索方面,在并发 50 查询时,查前 100 个最近邻可达 90% 精度,延迟约 200 毫秒,若追求 95% 精度,延迟提升至 1.3 秒。

总结

过去几年,Redis 因为协议改动,在开发者圈子里引发了不少争议。

有人吐槽它不讲江湖道义,也有人理解它要保护商业利益,但不管你站在哪一边,都不得不承认,这一次的 8.0,是真的让大家眼前一亮。

总结一下 Redis 8.0 几个关键词:

  • 新增开源协议 AGPLv3,真正的开源了;
  • 新增 8 种免费使用的数据结构,功能更强了;
  • 性能提升巨大,执行速度、吞吐、复制全方位进化;

不得不承认,Redis 8.0 这次是真的浪子回头了。

从协议回归开源,到数据结构全面升级,再到性能全面提升,Redis 用实际行动告诉大家:Redis 8.0 不仅重新回归开源,还强得离谱。

如果你还正在使用 Redis 6 和 Redis 7 等旧版本,建议考虑升级到 Redis 8.0,以充分利用 Redis 8.0 的新特性及性能优势。

最后我想说一句: 开源不是一种姿态,而是一种信仰

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

更多文章推荐:

1.Spring Boot 3.x 教程,太全了!

2.3,000+ 道 Java面试题及答案整理(最新版)

3.免费获取 IDEA 激活码的 7 种方式(最新版)

4.Java & DeepSeek & AI 学习资料分享

5.程序员精美简历模板分享

觉得不错,别忘了随手点赞+转发哦!


Java技术栈
12.8k 声望31.4k 粉丝