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

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

Redis 8.0 已经于 2025 年 5 月 1 日正式发布,除了一些新功能和性能改进之外,一个非常重要的改变就是新增了开源的 AGPLv3 协议支持,再次回归开源社区。

在这里插入图片描述

为什么说再次呢?这个需要从 2024 年 3 月份 Redis 7.4 说起,因为 Redis 从这个版本开始放弃了长期采用的 BSD 开源许可证,改为采用 RSALv2(Redis 源代码可用许可证)以及 SSPLv1(服务器端公共许可证)“双重授权”策略,主要目的是限制云厂商免费利用 Redis 代码提供商业化服务。

这两种许可证都不是 OSI 认可的开源许可,并且各自都有其限制。Redis 更改开源许可之后,引发了社区强烈反对,导致许多基于 Redis 开源版本开发的分支,例如 Valkey、Redict、KeyDB,导致 Redis 社区陷入分裂。

随着创始人 antirez 重新加入 Redis,公司为了挽回开发者和广大用户的信任,最终决定 Redis 8.0 在保留原有许可证的基础上,新增了 OSI 批准的 AGPLv3 作为开源选项,强调其“重归开源”。

在这里插入图片描述

除了修改开源协议之外,Redis 8.0 还带了大量的新特性和性能优化:

  • 引入向量集合 (vector sets),一种用于向量相似性搜索的新数据类型,增强了 Redis 在涉及语义搜索和推荐系统等 AI 场景中的能力;
  • 集成了多种 Redis Stack 技术,包括 JSON 数据类型、时间序列类型、5 种概率数据类型以及 Redis 查询引擎;
  • ACL(访问控制列表)支持新增的数据类型,实现细粒度安全控制;
  • 超过 30 项性能优化,最高提升 87% 和 2x 吞吐量。

在这里插入图片描述

另外,Redis 8.0 引入了一个新的复制机制,同时启动两个复制流,减少了复制时间和内存占用。

在这里插入图片描述

详细信息可以参考官方发布说明:

https://redis.io/blog/redis-8-ga/

那么问题来了,Redis 回归了开源社区,你会回归 Redis 吗?

相关文章:

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

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

静态BFD配置

AR2配置 int g0/0/0 ip add 10.10.10.2 quit bfd quit bfd 1 bind peer-ip 10.10.10.1 source-ip 10.10.10.2 auto commit AR1配置 int g0/0/0 ip add 10.10.10.1 int g0/0/1 ip add 10.10.11.1 quit bfd quit bfd 1 bind peer-ip 10.0.12.2 source-ip 10.0.12.1 auto co…...

[python] 函数1-函数基础

一 函数使用 1.1 基本用法 def 函数名() 函数体 函数返回值: 返回调用的结果 def myPyFirstFunc():print("hello python") myPyFirstFunc()1.2 函数参数 def 函数名(形参a,形参b) 函数体 def add(a,b):return a b print(add(1,2)) print(add(1,4)) 二 函…...

【并发编程】MySQL锁及单机锁实现

目录 一、MySQL锁机制 1.1 按锁粒度划分 1.2 按锁功能划分 1.3 InnoDB锁实现机制 (1)记录锁(Record Lock) (2) 间隙锁(Gap Lock) (3) 临键锁(Next-Key Lock) (4) 插入意向锁(Insert Intention Lock) 二、基于 JVM 本地锁实现,保证线程安全 2.1 线程不安全的分析 2.1…...

C++ | 常用语法笔记

判断数字还是字母 1.笨办法&#xff0c;使用直接判断办法 if(c > 0 && c < 9) cout << "c是数字" << endl; if(c > a && c < z) cout << "c是小写字母" << endl; if(c > A && c< Z) …...

浅谈 Shell 脚本编程中引号的妙用

在 Shell 脚本编程中&#xff0c;引号的使用是一项基础却至关重要的技能。无论是单引号、双引号还是不加引号&#xff0c;它们都会显著影响 Shell 对字符串、变量、特殊字符以及命令的解析方式。理解这些差异不仅能帮助开发者编写更健壮的脚本&#xff0c;还能避免因误解引发的…...

DeFi开发系统软件开发:技术架构与生态重构

DeFi开发系统软件开发&#xff1a;技术架构与生态重构 ——2025年去中心化金融开发的范式革新与实践指南 一、技术架构演进&#xff1a;从单一链到多链混合引擎 现代DeFi系统开发已从单一公链架构转向“跨链互操作混合模式”&#xff0c;结合中心化效率与去中心化安全双重优势…...

Spring AI 集成 DeepSeek V3 模型开发指南

Spring AI 集成 DeepSeek V3 模型开发指南 前言 在人工智能飞速发展的当下&#xff0c;大语言模型不断推陈出新&#xff0c;DeepSeek AI 推出的开源 DeepSeek V3 模型凭借其卓越的推理和问题解决能力备受瞩目。与此同时&#xff0c;Spring AI 作为一个强大的框架&#xff0c;…...

C++:扫雷游戏

一.扫雷游戏项目设计 1.文件结构设计 首先我们要先定义三个文件 ①test.c //文件中写游戏的测试逻辑 ②game.c //文件中写游戏中函数的实现等 ③game.h //文件中写游戏需要的数据类型和函数声明等 2.扫雷游戏的主体结构 使⽤控制台实现经典的扫雷游戏 •游戏可以通过菜单…...

【写作格式】写论文时常见格式问题

写作格式 1.图片总是乱跑&#xff0c;怎么固定图片2.一键更新引用3.交叉引用[1][2][3]怎么变为[1,2,3]4.目录灰色底纹怎么消除5.word保存为pdf提取标题为书签 1.图片总是乱跑&#xff0c;怎么固定图片 遇到的问题 解决方法 第一步&#xff1a;图片格式——>环绕文字——&g…...

Android平台FFmpeg视频解码全流程指南

本文将详细介绍在Android平台上使用FFmpeg进行高效视频解码的实现方案&#xff0c;采用面向对象的设计思想。 一、架构设计 1.1 整体架构 采用三层架构设计&#xff1a; • 应用层&#xff1a;提供用户接口和UI展示 • 业务逻辑层&#xff1a;管理解码流程和状态 • Native…...

C31-形参与实参的区别

一 形参与实参 实参:调用函数时传递的实际值,可以是变量、常量或表达式,如"add(3,a)"中的’3’与’a’形参:函数定义中声明的参数变量,用于接收实参的值,如"int add(intx,inty)"中的’x’与’y’ C语言默认通过值传递参数,形参与实参是独立的变量,仅数据…...

自学嵌入式 day 16-c语言-第10章 指针

14 指针函数 返回值是指针的函数。 &#xff08;1&#xff09;动态内存分配 ①使用方式&#xff1a; #include<stdlib.h> void *malloc(size_t size) ②返回连续的内存空间的首元素地址&#xff0c;内存空间未被初始化&#xff0c;申请的是堆区的空间。 ③内存空间申请…...

DataWorks快速入门

文章目录 一、DataWorks简介1、概念2、功能3、优势 二、DataWorks使用1、创建工作空间2、绑定计算资源3、数据开发 三、DataWorks节点类型1、MaxCompute SQL节点①创建非分区表并插入数据②创建分区表并插入数据③查询表数据 2、离线同步节点3、PYODPS 3节点①判断表是否存在②…...

AtCoder Beginner Contest 404 A-E 题解

还是ABC好打~比ARC好打多了&#xff08; 题解部分 A - Not Found 给定你一个长度最大25的字符串&#xff0c;任意输出一个未出现过的小写字母 签到题&#xff0c;map或者数组下标查询一下就好 #include<bits/stdc.h>using namespace std;#define int long long #def…...

WiFi出现感叹号上不了网怎么办 轻松恢复网络

在日常生活中&#xff0c;WiFi已成为不可或缺的一部分。然而&#xff0c;有时我们会遇到WiFi图标上出现了感叹号&#xff0c;无法上网。无论是办公、学习还是娱乐&#xff0c;这种情况都会严重影响体验。这种情况该怎么解决呢&#xff1f;本期驱动哥就给各位介绍几种简单的解决…...

M0芯片的基础篇Timer

一、计数器的原理 加法计数器 减法计数器 触发中断 最短计时时间 时钟周期决定 16bit 65535 最长计时时间 时间周期和最大计数值决定 二、syscfg配置 timg&#xff1a;通用定时器 tima&#xff1a;高级定时器 timx&#xff1a;不论是高级定时器还是通用定时器都是一样…...

vue教程(vuepress版)

Vue 完全指南 项目介绍 这是一个系统化的 Vue.js 学习教程&#xff0c;采用循序渐进的方式&#xff0c;帮助开发者从零开始掌握 Vue 开发技能。 教程特点 循序渐进: 从 Vue 基础概念开始&#xff0c;逐步深入到高级特性&#xff0c;适合不同层次的开发者学习实战驱动: 结合…...

【嵌入式开发-USB】

嵌入式开发-USB ■ USB简介 ■ USB简介...

【前端】webstorm运行程序浏览器报network error

是浏览器阻止了链接&#xff0c;先把能正常访问的链接搜索&#xff0c;禁止访问的时候&#xff0c;高级&#xff0c;强制访问&#xff0c;再运行项目生成的网址就可以了。...

国内led显示屏厂家以及售后 消费对比与选择

国内led显示屏的厂家有很多&#xff0c;虽然让消费者在选择的时候有了多种的机会&#xff0c;可是在质量方面的鉴别上也是无从下手。对此为了方便消费者作出选择&#xff0c;下面为您推荐一些品牌厂家。 1、强力巨彩 是全球比较有名气的LED显示屏厂家的制造商&#xff0c;总厂房…...

【Go】优化文件下载处理:从多级复制到零拷贝流式处理

在开发音频处理服务过程中&#xff0c;我们面临一个常见需求&#xff1a;从网络下载音频文件并保存到本地。这个看似简单的操作&#xff0c;实际上有很多优化空间。本文将分享一个逐步优化的过程&#xff0c;展示如何从一个基础实现逐步改进到高效的流式下载方案。 初始实现&a…...

驱动开发硬核特训 · Day 30(上篇):深入理解 I2C 总线驱动模型(以 at24 EEPROM 为例)

作者&#xff1a;嵌入式Jerry 视频教程请关注 B 站&#xff1a;“嵌入式Jerry” 一、写在前面 在上一阶段我们已经深入理解了字符设备驱动与设备模型之间的结合方式、sysfs 的创建方式以及平台驱动模型的实际运用。今天我们迈入总线驱动模型的世界&#xff0c;聚焦于 I2C 总线…...

LaTeX印刷体 字符与数学符号的总结

1. 希腊字母&#xff08;Greek Letters&#xff09; 名称小写 LaTeX大写 LaTeX显示效果Alpha\alphaAαα, AABeta\betaBββ, BBGamma\gamma\Gammaγγ, ΓΓDelta\delta\Deltaδδ, ΔΔTheta\theta\Thetaθθ, ΘΘPi\pi\Piππ, ΠΠSigma\sigma\Sigmaσσ, ΣΣOmega\omeg…...

关键字where

C# 中的 where 关键字主要用在泛型约束&#xff08;Generic Constraints&#xff09;中&#xff0c;目的是对泛型类型参数限制其必须满足的条件&#xff0c;从而保证类型参数具备特定的能力或特性&#xff0c;增强类型安全和代码可读性。 约束写法说明适用场景举例C#版本要求w…...

vite 代理 websocket

&#x1f6e1;️一、WebSocket 基本概念 名称全称含义使用场景ws://WebSocket非加密的 WebSocket 连接开发环境、内网通信wss://WebSocket Secure加密的 WebSocket 连接&#xff08;基于 TLS/SSL&#xff09;生产环境、公网通信 &#x1f6e1;️二、安全性对比 特性ws://wss…...

深入理解操作系统:从基础概念到核心管理

在计算机系统中&#xff0c;操作系统是至关重要的组成部分&#xff0c;它如同计算机的“大管家”&#xff0c;统筹协调着系统的各项资源与工作流程。接下来&#xff0c;就让我们深入了解操作系统的奥秘。 一、操作系统概述 操作系统能有效组织和管理系统中的软/硬件资源&…...

手撕基于AMQP协议的简易消息队列-1(项目介绍与开发环境的搭建)

项目绍 码云仓库&#xff1a;MessageQueues: 仿Rabbit实现消息队列 文章概要 本文将介绍从零搭建一个简易消息队列的方法&#xff0c;目的是了解并学习消息队列的底层原理与逻辑&#xff0c;编写一个独立的服务器程序。从搭建开发环境开始&#xff0c;到编写一些工作组件&am…...

C++ 模板方法模式详解与实例

模板方法模式概念​ 模板方法模式(Template Method Pattern)属于行为型设计模式,其核心思想是在一个抽象类中定义一个算法的骨架,而将一些步骤延迟到子类中实现。这样可以使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。它通过继承机制,实现代码复用和行为…...

北京丰台人和中医院,收费贵吗?

北京丰台人和中医院&#xff0c;收费贵吗&#xff1f; 北京丰台人和中医院属于平价医院&#xff0c;百姓医院&#xff0c;收费不贵&#xff0c;北京丰台人和中医院35年专业看肝病&#xff0c;之所以能够在肝病感染者中赢得广泛好评&#xff0c;离不开其严谨的医疗流程、专业的…...

21、魔法传送阵——React 19 文件上传优化

一、魔法传送阵的核心法则 1.量子切割术&#xff08;分片上传&#xff09; const sliceFile (file) > {const chunks [];let start 0;const CHUNK_SIZE 2 * 1024 * 1024; // 2MB分片while (start < file.size) {chunks.push({id: ${file.name}-${start},data: file.s…...

Windows命令行软件管理器:Chocolatey

文章目录 Windows命令行软件管理器&#xff1a;Chocolatey1.Chocolatey使用1.1 安装1.2 常用命令1.3 使用流程 2.常用shell命令汇总 Windows命令行软件管理器&#xff1a;Chocolatey Chocolatey 是一款强大的 Windows 命令行软件管理器&#xff0c;目前在 GitHub 上已斩获 10.…...

【MySQL】第二弹——MySQL表的增删改查(CRUD)

文章目录 &#x1f393;一. CRUD&#x1f393;二. 新增(Create)&#x1f393;三. 查询(Rertieve)&#x1f4d6;1. 全列查询&#x1f4d6;2. 指定列查询&#x1f4d6;3. 查询带有表达式&#x1f4d6;4. 起别名查询(as )&#x1f4d6; 5. 去重查询(distinct)&#x1f4d6;6. 排序…...

Windows环境,Python实现对本机处于监听状态的端口,打印出端口,进程ID,程序名称

1、pip install tabulate 2、代码实现 #!/usr/bin/env python # -*- coding: utf-8 -*-""" Windows端口监听程序 显示本机处于监听状态的端口&#xff0c;进程ID和程序名称 """import subprocess import re import os import sys from tabulat…...

什么是变量提升?

变量提升&#xff08;Hoisting&#xff09; 是 JavaScript 引擎在代码执行前的一个特殊行为&#xff0c;它会将变量声明和函数声明自动移动到当前作用域的顶部。但需要注意的是&#xff0c;只有声明会被提升&#xff0c;赋值操作不会提升。 ​​核心概念​​ 变量声明提升&…...

Java大师成长计划之第15天:Java线程基础

&#x1f4e2; 友情提示&#xff1a; 本文由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;平台gpt-4o-mini模型辅助创作完成&#xff0c;旨在提供灵感参考与技术分享&#xff0c;文中关键数据、代码与结论建议通过官方渠道验证。 在现代软件开发中&#xff0c;多线程…...

中小企业设备预测性维护:从技术原理到中讯烛龙实践落地指南

在工业 4.0 与智能制造浪潮的推动下&#xff0c;中小企业正面临设备管理模式的深刻变革。传统的事后维修与预防性维护策略&#xff0c;因缺乏数据驱动与智能决策能力&#xff0c;已难以满足企业降本增效的核心诉求。据 Gartner 统计&#xff0c;非计划停机导致的生产损失平均每…...

mysql 复习

mysql定义与架构 数据库是按照数据结构来组织、存储和管理数据的仓库&#xff0c;方便我们增删查改。MySQL有客户端和服务器端&#xff0c;基于网络服务的&#xff0c;3306端口处于监听状态。 数据库的存储介质有以下两种&#xff1a; 磁盘&#xff0c;比如MySQL就是一种磁盘…...

高低比率策略

本策略的核心在于运用技术指标结合基本规则进行交易决策&#xff0c;旨在通过高低比率策略捕捉市场的超买和超卖信号&#xff0c;以此指导交易行为。 一、交易逻辑思路 1. 指标计算&#xff1a; - 本策略首先通过EMA&#xff08;指数移动平均&#xff09;计算快线和慢线的值&am…...

python线上学习进度报告

一、mooc学习 二、python123学习...

深入剖析ThreadLocal:原理、应用与最佳实践

深入剖析ThreadLocal&#xff1a;原理、应用与最佳实践 一、ThreadLocal的本质与价值 1.1 什么是ThreadLocal&#xff1f; ThreadLocal是Java提供的线程本地变量机制&#xff0c;允许每个线程拥有独立的变量副本&#xff0c;实现线程间的数据隔离。它通过“空间换时间”的方式…...

nginx 配置后端健康检查模块

nginx自带的针对后端节点健康检查的功能比较简单,通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的参数来完成,当后端节点出现故障时,自动切换到健康节点来提供访问。但是nginx不能事先知道后端节点状态是否健康,后端即使有不健康节点,负载均…...

路由交换实验

案例一&#xff1a;实施和配置RIPV2 1.给AR1配置接口 查看R1接口配置情况 2.配置三台路由的RIP协议&#xff0c;版本为version2 &#xff0c;关闭自动汇总&#xff0c;通告所有的直连接口 案例二&#xff1a;配置多区域的OSPF协议 1.配置R1的接口IP地址参数 2.配置r2,r3的接口参…...

主成分分析(PCA)是什么?简易理解版

文章目录 一、PCA的本质与核心价值二、数据中的"重要方向"&#xff1a;理解变异性三、主成分的数学基础四、荷载向量的深入理解五、PCA的计算过程详解5.1 数据预处理5.2 计算协方差矩阵5.3 特征分解5.4 主成分得分计算 六、PCA的实际应用解读七、PCA的工具与实现7.1 …...

Linux常用命令34——uname显示系统内核信息

在使用Linux或macOS日常开发中&#xff0c;熟悉一些基本的命令有助于提高工作效率&#xff0c;uname命令来自英文词组UNIX name的缩写&#xff0c;其功能是查看系统主机名、内核及硬件架构等信息。如果不加任何参数&#xff0c;默认仅显示系统内核名称&#xff08;相当于-s参数…...

Linux下使用openssh搭建sftp服务

创建 SFTP 用户组 为 SFTP 用户创建一个专用组&#xff1a; sudo groupadd sftpusers 创建 SFTP 用户 创建 SFTP 用户并将其添加到 sftpusers 组&#xff0c;同时指定用户的主目录和禁止 shell 访问&#xff1a; sudo useradd -g sftpusers -s /sbin/nologin username sud…...

C++ 复习(一)

命名空间 概念 &#xff1a; 命名空间的主要作用是创建一个新的作用域 里面可以放函数 变量 定义 为了防止命名冲突 实现 : 通过使用namespace 空间名 {} 在大括号中添加 内容 1. 这里命名空间允许嵌套 2. 在同一个工程中允许存在多个同名的命名空间 在最后编译…...

主备Smart Link + Monitor Link组网技术详细配置

1.实验拓扑 2.使用设备 eNSP模拟建议下行设备三台使用S3700模拟&#xff08;全部使用S5700可能会出现流量丢失等异常问题。&#xff09; 3.实验配置 [SW1]dis cu # sysname SW1 # vlan batch 100 110 # interface Ethernet0/0/1port link-type accessport default vlan 100 …...

【5G通信】redcap和bwp 随手记

在5G通信中&#xff0c;BWP&#xff08;Bandwidth Part&#xff09;是一种技术&#xff0c;允许终端设备在不同的带宽部分上进行通信&#xff0c;从而提高频谱效率和灵活性。BWP可以分为初始BWP&#xff08;Initial BWP&#xff09;、默认BWP&#xff08;Default BWP&#xff0…...

第三天 车联网云架构

一、车联网技术演进与行业变革 1.1 从传统Telematics到智能网联汽车 当我们驾驶着搭载智能网联系统的汽车时&#xff0c;车辆每秒会产生超过1GB的数据流量。这些数据包括&#xff1a; 高精度地图的实时更新ADAS传感器采集的环境信息车载娱乐系统交互数据车辆状态监控信息 传…...