Redis修改开源协议,6大备胎重见天日

news2025/1/11 18:37:05

背景:Redis2018年以来修改了多次开源协议,以前是把一些高级功能收费,这次彻底怒了,把核心代码的协议修改为RSALv2和SSPL双重协议,这个修改对普通用户不受影响,是向所有云厂商开炮,以后云厂商将不能再免费使用Redis7.4以上的版本,除非得到Redis公司官方许可(就是要向云平台收费了)。

云厂商是不是会臣服呢?根据当前的产品布局,估计Redis的计划要落空,只能说Redis不如MongoDB那么利落,一次SSPL到位,Redis动手太慢了,云厂商和社区的所有备胎都跃跃欲试多年,要翻身当主人了。

图片

一起来认识下这些的备胎,有默默当了17年的,也有刚出生7天的。

图片

云数据库 TencentDB for KeeWiDB(出生时间:2022年)

https://cloud.tencent.com/product/keewidb

云数据库 KeeWiDB 是腾讯云自研、100%兼容 Redis 协议的新一代分布式KV存储数据库,实现了数据的冷热分级,满足业务高性能、持久化、低成本、大规模的四大诉求,完美的平衡性能和成本之间的冲突。云数据库 KeeWiDB 支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。

图片

图片

Amazon ElastiCache(出生时间:2011年)

https://aws.amazon.com/cn/elasticache

图片

Amazon ElastiCache 是一项兼容 Redis 和 Memcached 的无伺服器缓存服务,可为现代应用程序提供实时、成本优化的性能。ElastiCache 可扩展至每秒数亿次操作,并保持微秒级响应时间,同时提供企业级安全性和可靠性。

Amazon ElastiCache去年在AWS ReInvent大会还发布了Serverless的版本。

图片

云原生内存数据库Tair(出生时间:2007年,诞生于淘宝网)

https://www.aliyun.com/product/apsaradb/kvstore/tair

云原生内存数据库Tair是阿里云自研数据库,兼容Redis的同时提供更多数据结构和企业级能力,包括全球多活、任意时间点恢复和透明加密等。支持多种存储介质和不同场景性价比需求:内存型支持超高吞吐,性能为Redis三倍;持久内存型成本降低30%,支持数据实时持久化;支持向量检索能力。

图片

图片

GeminiDB for Redis(出生时间:2020)

https://www.huaweicloud.com/product/geminidb/redis.html

GeminiDB Redis接口采用云原生分布式架构,100%兼容Redis协议,支持更多高级特性。提供高稳定性、高性价比的解决方案,具备功能丰富的DBA运维能力

图片

图片

Garnet(出生时间:2024-03-16),最年青的备胎,确实是有备而来

https://microsoft.github.io/garnet/

图片

图片

pika(出生时间:2014)

https://github.com/OpenAtomFoundation/pika

Pika 是一个以 RocksDB 为存储引擎的的大容量、高性能、多租户、数据可持久化的弹性 KV 数据存储系统,完全兼容 Redis 协议,支持其常用的数据结构,如 string/hash/list/zset/set/geo/hyperloglog/pubsub/bitmap/stream 等 Redis 接口。

Redis 的内存使用量超过一定阈值【如 16GiB 】时,会面临内存容量有限、单线程阻塞、启动恢复时间长、内存硬件成本贵、缓冲区容易写满、一主多从故障时切换代价大等问题。Pika 的出现并不是为了替代 Redis, 而是 Redis 补充。Pika 力求在完全兼容Redis 协议、继承 Redis 便捷运维设计的前提下,通过持久化存储的方式解决了 Redis 一旦存储数据量巨大就会出现内存容量不足的瓶颈问题,并且可以像 Redis 一样,支持使用 slaveof 命令实现主从模式,还支持数据的全量同步和增量同步。

还可以通过 twemproxy or Codis 以静态数据分片方式实现 Pika 集群。

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

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

相关文章

迁移android studio 模拟器位置

android studio 初始位置是安装在c盘,若是要迁移需 1创建一个目标位置如我的F:/avd 2在系统环境变量里面设置新的地址 变量名:ANDROID_SDK_HOME 变量值:F:/avd 3最重要的是文件复制,将C盘里面avd的上层目录.android的目录整体…

C++ static静态变量详解

目录 觉得有用就给博主点个赞吧!谢谢啦!嘻嘻嘻 概念: 特性 如何计算一个类创建了多少个对象? 概念: 用static关键字修饰的成员变量叫做静态成员变量 在类内部,但是属于全局,不属于任意一个…

前端调用接口地址跨越问题,nginx配置处理

在nginx配置里面添加add_header如下: add_header Access-Control-Allow-Origin *; #add_header Access-Control-Allow-Origin http://localhost:8080 always; add_header Access-Control-Allow-Methods GET, POST, PUT, D…

JavaScript Uncaught ReferenceError: WScript is not defined

项目场景: 最近在Visual Studio 2019上编译libmodbus库,出现了很多问题,一一解决特此记录下来。 问题描述 首先就是configure.js文件的问题,它会生成两个很重要的头文件modbus_version.h和config.h,这两个头文件其中…

【Lazy ORM 框架学习】

Gitee 点赞关注不迷路 项目地址 快速入门 模块所属层级描述快照版本正式版本wu-database-lazy-lambdalambda针对不同数据源wu-database-lazy-orm-coreorm 核心orm核心处理wu-database-lazy-sqlsql核心处理成处理sql解析、sql执行、sql映射wu-elasticsearch-starterESESwu-hb…

【React】vite + react 项目,进行配置 eslint

安装与配置 eslint 1 安装 eslint @babel/eslint-parser2 初始化配置 eslint3 安装 vite-plugin-eslint4 配置 vite.config.js 文件5 修改 eslint 默认配置1 安装 eslint @babel/eslint-parser npm i -D eslint @babel/eslint-parser2 初始化配置 eslint npx eslint --init相…

Vmware虚拟机无法用root直连说明

Vmware虚拟机无法用root直连说明 背景目的SSH服务介绍无法连接检查配置 背景 今天在VM上新装了一套Centos-stream-9系统,网络适配器的连接方式采用的是桥接,安装好虚拟机后,在本地用ssh工具进行远程连接,ip、用户、密码均是成功的…

【正点原子FreeRTOS学习笔记】————(12)信号量

这里写目录标题 一、信号量的简介(了解)二、二值信号量(熟悉)三、二值信号量实验(掌握)四、计数型信号量(熟悉)五、计数型信号量实验(掌握)六、优先级翻转简介…

LInux|命令行参数|环境变量

LInux|命令行参数|环境变量 命令行参数main的参数之argc&#xff0c;argv几个小知识<font color#0099ff size 5 face"黑体">1.子进程默认能看到并访问父进程的数据<font color#4b0082 size 5 face"黑体">2.命令行创建的程序父进程都是bash 环…

iterm2下使用tmux如果左右分屏用鼠标选中文字跨越pane的问题

原来的样子 如图所示&#xff0c;我开了左右分屏的tmux&#xff0c;如果我指向选择右边的三行div&#xff0c;用鼠标选中之后&#xff0c;会发现把左边的内容也框选了。 解决办法 Edit -》 Selection Respects Soft Boundaries 勾选这个功能&#xff08;选择遵循软边界&#…

秒杀VLOOKUP函数,查找数字我只服SUMIF函数

一提到数据查询&#xff0c;相信很多人的第一反应就是使用Vlookup函数。但是今天我想跟大家分享另一种比较另类的数据查询方式&#xff0c;就是利用SUMIF函数&#xff0c;相较于Vlookup函数它更加的简单灵活、且不容易出错&#xff0c;下面我们就来学习下它的使用方法。 1、常…

win10开启了hyper-v,docker 启动还是报错 docker desktop windows hypervisor is not present

问题 在安装了docker windows版本后启动 docker报错docker desktop windows hypervisor is not present 解决措施 首先确认windows功能是否打开Hyper-v 勾选后重启&#xff0c;再次启动 启动后仍报这个错误&#xff0c;是Hyper-v没有设置成功 使用cmd禁用再启用 一.禁用h…

rust中常用cfg属性和cfg!宏的使用说明,实现不同系统的条件编译

cfg有两种使用方式&#xff0c;一种是属性&#xff1a; #[cfg()]&#xff0c;一种是宏&#xff1a;cfg! &#xff0c;这两个都是非常常用的功能。 #[cfg()]是 Rust 中的一个属性 用于根据配置条件来选择性地包含或排除代码。cfg 是 "configuration" 的缩写&#xf…

左手医生:医疗 AI 企业的云原生提效降本之路

相信这样的经历对很多人来说并不陌生&#xff1a;为了能到更好的医院治病&#xff0c;不惜路途遥远奔波到大城市&#xff1b;或者只是看个小病&#xff0c;也得排上半天长队。这些由于医疗资源分配不均导致的就医问题已是老生长谈。 云计算、人工智能、大数据等技术的发展和融…

微信小程序页面制作练习——制作一个九宫格导航图

要求&#xff1a; 代码实现&#xff1a; 先将所需要的资源图片存入我的image文件里面 模拟练习供参考&#xff0c;不建议这样存入image里&#xff0c;因为本地图片占内存太大&#xff0c;不能预览。 一、list.wxml里面搭建框架代码&#xff1a; <!--pages/list/list.wxml…

有关Kitchen-Rosenfeld角点检测的公式推导

第一次看到下面这个公式时,不太清楚怎么推导过来的 后面看了有关Kitchen-Rosenfeld的文章后,明白了 假设梯度的角度 θ \theta θ tan ⁡ θ = I y I x \tan \theta =\frac{I_y}{I_x} tanθ=Ix​Iy​​ 其中 I y I_y Iy​为y偏导, I x I_x Ix​为x偏导, I x x I_{xx} I…

初步接触C++

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习C&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 初步区别C语言和C命名空间1.命名空间的定义2.命名空间的使用 C的输入输出缺省参数1.缺省参数…

Nacos 配置管理-应用于分布式系统

** Nacos 配置管理-应用于分布式系统 ** 目录&#xff1a; 一、Nacos 配置管理-应用于分布式系统-微服务创建 1.1 发布配置 ( nacos-1.1.3 ) 1.2 打开 idea 创建一个父 Maven 工程 nacos_config 工程&#xff0c;和两个子模块&#xff08;service1, service2 &#xff09;…

MySQL使用教程:数据库、表操作

目录 1. 免密码登录MySQL1.1 免密码配置1.2 登录选项介绍 2. MySQL基础配置&#xff1a;my.cnf3. 开机自启动设置&#xff08;可选设置&#xff09;4. 查看存储引擎5. 查看系统的编码规则和校验规则6. 数据库的操作6.1 查看数据库6.2 创建数据库 create database6.3 删除数据库…