当前位置: 首页 > news >正文

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,用起来应该会更加丝滑。

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

http://www.xdnf.cn/news/364321.html

相关文章:

  • 【Unity】Unity中修改网格的大小和倾斜网格
  • 如何解决Jmeter中的乱码问题?
  • 【PHP】基于币安链,一个完整的USDT转账示例
  • 【python】 python拆包
  • 【QT】项目打包与发布安装
  • 图灵爬虫练习平台第七题千山鸟飞绝js逆向
  • 宠物医院预约|基于Java+vue的宠物医院预约平台系统(源码+数据库+文档)
  • windows celery OSError: [WinError 6] 句柄无效
  • ELF-如何学习
  • C++(1):整数常量
  • Mysql存储引擎
  • 期刊论文写作注意点
  • LVGL源码学习之渲染、更新过程(1)---标记和激活
  • 【C/C++】为什么要noexcept
  • 机器学习第二讲:对比传统编程:解决复杂规则场景
  • 机器学习实操 第二部分 第19章 大规模训练和部署 TensorFlow 模型
  • RPG11.创建玩家Ability类
  • 基于CNN的猫狗图像分类系统
  • 推荐系统(二十五):基于阿里DIN(Deep Interest Network)的CTR模型实现
  • SpringCloud的作用
  • Java高频基础面试题
  • EMC|AC/DC转换器ESD静电防护
  • The 2024 ICPC Kunming Invitational Contest G. Be Positive
  • 【Python-Day 11】列表入门:Python 中最灵活的数据容器 (创建、索引、切片)
  • 【Spring】手动创建Spring|Boot项目
  • 【Golang】gin框架动态更新路由
  • C++--NULL和nullptr的区别
  • ATH12K 驱动框架
  • ch09 题目参考思路
  • 不黑文化艺术学社首席艺术家孙溟㠭浅析“雪渔派”