Redis 8.0携新功能,重新开源

01 引言

Redis从7.4版本起,将开源许可证改成 RSALv2(Redis 源代码可用许可证)与 SSPLv1(服务器端公共许可证)的双重授权策略。简单来说,就是不能随意商用。为了抵制Redis,Redis的替代品Valkey、KeyDB、Garnet 等项目迅速崛起,时之间,Redis 社区陷入分裂。

Redis 8.0选择AGPLv3 许可证,携带新功能,宣布重新开源。

02 新特性

Redis 8 是一个性能卓越且可扩展性强的版本,带来了诸多重大改进,包括超 30 项性能提升,新增 8 种数据结构。

2.1 性能提升

Redis 8 在单核和多核环境下都有超 30 项性能改进。与 Redis 7.2.5 相比,大量命令的延迟最多降低 87%。通过新的 I/O 线程实现,在多核英特尔 CPU 上设置 io - threads 参数为 8 时,每秒操作吞吐量可提升 112% 。

新的复制机制使复制时内存使用最多减少 35%,主节点在复制期间处理写操作的平均速率提高 7.5%,复制时间减少 18%。

通过水平和垂直扩展,Redis Query Engine 的查询处理能力提升 16 倍,使其成为市场上最快的向量数据库。

2.2 丰富的数据结构

新增 8 种数据结构。向量集(测试版)用于向量相似性搜索,扩展了排序集概念以处理高维向量嵌入,适用于语义搜索和推荐系统;

JSON 数据结构便于管理会话,可存储 JSON 文档并通过 JSONPath 语言高效访问和原子更新;时间序列数据结构简化了处理快速变化的带时间戳数据,采用高效压缩算法并支持定义压缩规则;

5 种概率数据结构(布隆过滤器、布谷鸟过滤器、Count - min sketch、Top - k、t - digest)能在牺牲一定准确性的前提下,更高效地处理数据流和大数据集相关问题。

2.3 功能与安全增强

Redis Query Engine 除了键查找外,还能实现快速数据访问,可创建哈希和 JSON 数据结构的二级索引,支持向量搜索、精确匹配和语义搜索等,并具备词干提取、同义词扩展和模糊匹配等功能。

Access Control Lists (ACLs) 提供更精细的安全控制,新增针对新数据结构的 ACL 类别,现有类别也涵盖了支持新数据结构的命令。

基于 Redis 7.4 新增了 HGETDEL、HGETEX、HSETEX 这 3 个哈希命令。

2.4 开发支持与兼容性

Redis 8 易于上手开发应用,得到多种高性能、可靠的开源客户端库支持,如 Jedis、Lettuce、go - redis 等。

若使用对象映射技术,Redis OM 客户端库可帮忙建模对象、添加模式验证并存储于 Redis 8。针对 GenAI 应用,提供 Redis 向量库(RedisVL),集成大语言模型实现语义搜索等功能。

Redis 8 与 Redis Insight 和 Redis for VS Code 完全兼容,其中 Redis Insight 集成了自然语言 AI 助手 Redis Copilot,提升数据和命令操作体验。

Redis 8.0 弃用了以前的 Redis 和 Redis Stack 版本,不再需要独立的 RediSearch、RedisJSON、RedisTimeSeries 和 RedisBloom,因为它们现在是 Redis 的一部分。

03 小结

Redis的开源闭源对于传统的企业或者个人用户没有什么影响,我们只要关注其功能就可以了。

之前分享了Redis7.x的安装和使用,要使用RedisJSON,还要自己安装 Redis Stack,虽然操作很简单,确实感觉确实有点不爽。好在Redis 8.0已经整合了Redis Stack,用起来应该会更加丝滑。

至于官方说的性能的提升,需要在实际应用中去体验。

相关推荐
IT项目管理32 分钟前
达梦数据库DMHS介绍及安装部署
linux·数据库
你都会上树?39 分钟前
MySQL MVCC 详解
数据库·mysql
大春儿的试验田44 分钟前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
hqxstudying1 小时前
Redis为什么是单线程
java·redis
Ein hübscher Kerl.1 小时前
虚拟机上安装 MariaDB 及依赖包
数据库·mariadb
醇醛酸醚酮酯2 小时前
Qt项目锻炼——TODO清单(二)
开发语言·数据库·qt
Sherlock Ma2 小时前
百度开源文心一言4.5:论文解读和使用入门
人工智能·百度·自然语言处理·开源·大模型·文心一言·多模态
GreatSQL社区2 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根2 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_438335402 小时前
基础知识:mysql-connector-j依赖
数据库·mysql