Redis 8.0 正式版发布,新特性很强!

news2025/5/9 21:39:04

就在前两天,Redis 8.0 正式版 (GA) 来了!这并不是一次简单的更新,Redis 8.0 不仅带来了性能上的进一步提升,还带来一些实用的新特性与功能增强。并且,最重要的是拥抱 AGPLv3 重归开源!

下面,简单聊聊 Redis 8.0 到底带来了哪些重磅更新。

再次回归开源

2024 年 3 月,Redis 宣布将其许可证从 BSD 切换到 RSALv2/SSPLv1 双许可证。这在社区引起了轩然大波,因为 SSPLv1 并不被开源促进会(OSI)认可为真正的开源许可证,这让很多开发者和云厂商感到不满,甚至催生了像 Valkey 这样的社区分支。大家都在担心 Redis 是不是要离开源越来越远了。

《Redis设计与实现》作者黄健宏老师当时也发表了自己的看法:

在 Redis 8.0 中,他们做出了一个关键决定:在保留原有 RSALv2/SSPLv1 许可证的同时,新增了 OSI 批准的 AGPLv3 (Affero General Public License v3) 作为授权选项!

为了体现决心,Redis 将其免费产品的名称从“Redis Community Edition”更改为“Redis Open Source”,更加强调其开源属性。

这表明 Redis 公司还是比较重视社区的反馈,想要做出一些事情来改变。

新增数据结构

新增 Vector Set 数据结构 (Beta 版): 专为 AI 应用设计,用于存储和查询高维向量嵌入 (Vector Embeddings),极大地增强了 Redis 在向量相似性搜索 (VSS)、语义搜索、推荐系统等场景下的能力。它补充了 Redis 查询引擎中已有的向量搜索能力。

原生支持 JSON 数据结构: 这意味着直接在 Redis 中存储和操作 JSON 文档。Redis 提供了基于 JSONPath 语法的命令,可以高效地访问和修改 JSON 文档中的特定元素。

新增 5 种概率数据结构:

  • 概率数据结构用较小的内存和计算开销来解决大数据流或大数据集中的常见问题(以牺牲绝对精度为代价)。
  • 在原有的 HyperLogLog (基数估计) 基础上,新增了:
    • Bloom filter & Cuckoo filter: 判断元素是否存在于集合中(有一定误判率)。
    • Count-min sketch: 估计元素在数据流中出现的频率。
    • Top-k: 找出数据流中最频繁出现的 K 个元素。
    • t-digest: 估计数据流中数值的分位数(例如,有多少比例的值小于某个给定值)。

Redis 查询引擎增强

不仅仅是简单的 Key-Value 查找!现在支持在 Hash 和 JSON 数据结构上创建二级索引。支持更复杂的查询:精确匹配、范围查询、全文搜索(支持词干提取、同义词扩展、模糊匹配)以及向量相似性搜索。

性能提升

对比 Redis 7.2.5 版本,Redis 8.0 引入了超过 30 项性能改进,多达 90 个常用命令的延迟降低了 5.4% 至 87.4% !大部分应用升级后都能感受到明显的性能提升。

Redis 8.0 改进了自 Redis 6 以来的 I/O 线程实现。通过配置 io-threads 参数(例如设置为 8),在多核 CPU 上,吞吐量(每秒操作数)最高可提升 112% (约 2 倍)!

Redis 8.0 引入了新的复制机制,主从同步(特别是大数据集的全量同步+增量同步)期间,主节点处理写入操作的平均速率、复制总耗时都有明显提升。

可视化工具

Redis Insight 和 Redis for VS Code 完全兼容 Redis 8.0。并且,Redis Insight 特别集成了 Redis Copilot(自然语言 AI 助手),用来提升数据和命令处理体验。

总结

Redis 8.0 算是一个里程碑的版本,拥抱 AGPLv3 重归开源,还引入了一些实用的新特性与功能增强。

如果想要了解更多 Redis 8.0 的信息,可以查看官方文档:https://redis.io/blog/redis-8-ga/

下面是我写的几篇 Redis 原创文章,感兴趣的话,可以看看:

  • Redis 常见面试题总结(上)
  • Redis 常见面试题总结(下)
  • 如何基于Redis实现延时任务
  • Redis 5 种基本数据类型详解
  • Redis 3 种特殊数据类型详解
  • Redis为什么用跳表实现有序集合
  • Redis 持久化机制详解
  • Redis 内存碎片详解
  • Redis 常见阻塞原因总结

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

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

相关文章

以太坊智能合约开发框架:Hardhat v2 核心功能从入门到基础教程

一、设置项目 Hardhat 项目是安装了 hardhat 包并包含 hardhat.config.js 文件的 Node.js 项目。 操作步骤: ①初始化 npm npm init -y②安装 Hardhat npm install --save-dev hardhat③创建 Hardhat 项目 npx hardhat init如果选择 Create an empty hardhat.…

了解Dockerfile

定制docker 镜像的方式: 手动修改容器内容,导出新的镜像基于dockerfile 自行编写指令,基于指令流程创建镜像 镜像和容器的层级实现 docker拉取镜像到docker engine 之后,共享系统内核。 在内核层上有镜像层(本质上只…

强化学习--2.数学

强化学习--数学 1、概率统计知识1.1 随机变量与观测值1.2 概率密度函数(PDF)1.3 期望1.4 随机抽样 2、数据期望E3、正态分布4、条件概率1. **与多个条件相关**(依赖所有前置条件)2. **仅与上一个条件相关**(马尔可夫性…

边缘计算:开启智能新时代的“秘密武器”

大家好,我是沛哥儿,我们又见面了。今天我们来简单说下什么是边缘计算,它怎么工作的,有哪些优势。有哪些具体的应用场景。 文章目录 1、边缘计算是什么?2、边缘计算如何工作?3、边缘计算有哪些优势&#xff…

# 如何使用 PyQt5 创建一个简单的警报器控制界面

如何使用 PyQt5 创建一个简单的警报器控制界面 引言 在现代自动化和监控系统中,警报器扮演着至关重要的角色。它们可以提醒我们注意潜在的危险或紧急情况。在这篇文章中,我将向您展示如何使用Python的PyQt5库创建一个简单的警报器控制界面。这个界面将…

MySQL报错解决过程

我在调试datagrip的时候,显示拒绝连接,开始的时候,我以为只是服务没有开启,结果到后来在网上搜索各种解决办法无果后,就选择卸载,卸载之后安装新的MySQL 以下就是我的解决过程。 如果只是在使用外置软件&…

【AI入门】CherryStudio入门5:创建知识库,对接Obsidian 笔记

前言 来吧,继续CherryStudio的实践,前边给Cherry Studio添加知识库,对接思源笔记,但美中不足,思源笔记得导出再导入知识库,本文看一下obsidian笔记,笔记内容直接被知识库使用,免去导…

Redis 8.0正式发布,再次开源为哪般?

Redis 8.0 已经于 2025 年 5 月 1 日正式发布,除了一些新功能和性能改进之外,一个非常重要的改变就是新增了开源的 AGPLv3 协议支持,再次回归开源社区。 为什么说再次呢?这个需要从 2024 年 3 月份 Redis 7.4 说起,因为…

【Redis】Redis常用命令

4.Redis常见命令 4.1 Redis数据结构介绍 Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样: 命令太多,不需要死记,学会查询就好了~ Redis为了方便我们学习,将操作不同数据类型…

贪心算法应用:最小反馈顶点集问题详解

贪心算法应用:最小反馈顶点集问题详解 1. 问题定义与背景 1.1 反馈顶点集定义 反馈顶点集(Feedback Vertex Set, FVS)是指在一个有向图中,删除该集合中的所有顶点后,图中将不再存在任何有向环。换句话说,反馈顶点集是破坏图中所…

游戏引擎学习第259天:OpenGL和软件渲染器清理

回顾并为今天的内容做好铺垫 今天,我们将对游戏的分析器进行升级。在之前的修复中,我们解决了分析器的一些敏感问题,例如它无法跨代码重新加载进行分析,以及一些复杂的小问题。现在,我们的分析器看起来已经很稳定了。…

12.模方ModelFun工具-立面修整

摘要:本文主要介绍模方ModelFun修模工具——立面修整的操作方法。 点击工具栏即可找到立面修整工具,点击可打开并使用该工具,如下图: 图 工具菜单栏 (1)截面绘制: 快速绘制竖直矩形&#xff1…

Docker 渡渡鸟镜像同步站 使用教程

Docker 渡渡鸟镜像同步站 使用教程 🚀 介绍 Docker.aityp.com(渡渡鸟镜像同步站)是一个专注于为国内开发者提供 Docker 镜像加速和同步服务的平台。它通过同步官方镜像源(如 Docker Hub、GCR、GHCR 等),为…

火影bug,未保证短时间数据一致性,拿这个例子讲一下Redis

本文只拿这个游戏的bug来举例Redis,如果有不妥的地方,联系我进行删除 描述:今天在高速上打火影(有隧道,有时候会卡),发现了个bug,我点了两次-1000的忍玉(大概用了1千七百…

探索元生代:ComfyUI 工作流与计算机视觉的奇妙邂逅

目录 一、引言 二、蓝耘元生代和 ComfyUI 工作流初印象 (一)蓝耘元生代平台简介 (二)ComfyUI 工作流创建是啥玩意儿 三、计算机视觉是个啥 (一)计算机视觉的基本概念 (二)计算…

Unity-Shader详解-其五

关于Unity的Shader部分的基础知识其实已经讲解得差不多了,今天我们来一些实例分享: 溶解 效果如下: 代码如下: Shader "Chapter8/chapter8_1" {Properties{// 定义属性[NoScaleOffset]_Albedo("Albedo", 2…

【Java 专题补充】流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,是程序中既基本又非常关键的部分。流程控制语句可以把单个的语句组合成有意义的、能完成一定功能的小逻辑模块。最主要的流程控制方式是结构化程序设计中规定的三种基本流程结构。 1.1 结构化程序设计的三种基本流…

【ArcGIS微课1000例】0146:将多个文件夹下的影像移动到一个目标文件夹(以Landscan数据为例)

本文讲述将多个文件夹下的影像移动到一个目标文件夹,便于投影变换、裁剪等操作。 文章目录 一、数据准备二、解压操作三、批量移动四、查看效果五、ArcGIS操作一、数据准备 全球人口数据集Landscan2000-2023如下所示,每年数据位一个压缩包: 二、解压操作 首先将其解压,方…

【redis】分片方案

Redis分片(Sharding)是解决单机性能瓶颈的核心技术,其本质是将数据分散存储到多个Redis节点(实例)中,每个实例将只是所有键的一个子集,通过水平扩展提升系统容量和性能。 分片的核心价值 性能提…

springboot+mysql+element-plus+vue完整实现汽车租赁系统

目录 一、项目介绍 二、项目截图 1.项目结构图 三、系统详细介绍 管理后台 1.登陆页 2.管理后台主页 3.汽车地点管理 4.汽车类别 5.汽车品牌 6.汽车信息 7.用户管理 8.举报管理 9.订单管理 10.轮播图管理 11.交互界面 12.图表管理 汽车租赁商城 1.首页 2.汽…