Redis一直在用4.0 更新版已经到6了
mhr18 2024-11-30 12:45 18 浏览 0 评论
Redis 创始人宣布 Redis 6.0.0 稳定版正式 GA。
从首个 RC 版本到正式 GA 经历了四个月左右的时间,重要的新特性已在 RC1 中公布过:
- 许多新的模块 API(modules API)
- 更好的过期周期(expire cycle)
- SSL
- ACL
- RESP3
- 客户端缓存
- 线程 I/O
- 在副本上进行无盘复制
- Redis-benchmark 集群支持与 Redis-cli 改进
- Systemd 支持重写
- Redis 集群代理与 Redis 6 一起发布(位于不同仓库)
- Disque 模块与 Redis 6 一起发布(位于不同仓库)
正如 Redis 作者 antirez 所说,这是迄今最“企业”化的版本(SSL 与 ACL 等特性与企业极相关),也是最大的版本,同时也是参与人数最多的版本。GA 版本除了比 RC1 更稳定,还对部分功能进行了重新设计或是进一步的改进。
- 对客户端缓存某方面的功能进行了重新设计,主要是放弃了“缓存插槽”(caching slot)改为使用键名(key name)。另外还新增了“广播模式”(broadcasting mode),当使用广播模式时,服务器不需要记住每个客户端请求的 key。相反,客户端会订阅 key 的前缀:每当有匹配前缀的 key 被修改时,客户端就会收到通知。
- 用于主从复制的 RDB 文件如果不再使用会被删除
- 新的 ACL LOG 命令,可查看不遵循 ACL 权限的客户端(例如访问了无权限的命令和 key,以及验证失败),主要用于调试 ACL 问题。此外还有重新实现的 ACL GENPASS,它使用了基于 SHA256 的 HMAC 加密算法。
- 改进 PSYNC2 主从复制协议
- 改进 Redis 命令行的超时选项
- 提升 RDB 文件的加载速度(~20/30% 的提升)
- 新的 STRALGO 命令,实现了复杂的字符串算法。这是一个重要的算法,主要用于比较冠状病毒的 RNA(以及其他生物体的 DNA 和 RNA)
重要新特性介绍
RESP3
这是 Redis 6 中的新网络协议,但它是可选的,连接以 RESP2 模式开始,只有使用新的 HELLO 命令进行握手时,才进入新的协议模式。为什么要使用新协议?因为旧的语义不够。此外,RESP3 中还有其它功能,但是主要能力还是直接从 Redis 返回复杂的数据类型,而客户端对于数据类型的转换是透明的。
ACL
作者认为 Redis 需要 ACL,因为人们在更大的环境中需要更好地控制哪些客户端可以执行某些操作。同时,向 Redis 添加 ACL 的另一个要点是隔离,以保护数据免受应用程序错误的侵害。Redis 中还为 ACL 提供了 Redis 模块接口,因此开发者可以编写自定义身份验证方法。
SSL
这一特性值得一提的是,工作是完全在没有 antirez 参与的情况下完成的,这显示了 Redis 开发过程的变化。这可能需要简单结合一下背景:Redis 6 中 commit 次数最多的是 antirez,达到 685 次,而排在第二位的 zhaozhao.zz commit 数量是 81。
客户端缓存
antirez 此前已经详细介绍过该特性,我们也有相关分享:Redis 6 将采用全新协议 RESP3,以提供客户端缓存功能。当使用者需要进行快速存储或快速取操作时,就需要在客户端内存中存储一小部分信息,这可以降低程序获取数据时的延迟。
但是现在 antirez 认为这是 Redis 6 最不成熟的特性,他想在 Redis 6 GA 之前对此进行改进。可能会添加一个新模式,该新模式要求服务器不维护有关客户端的状态,或者根本不维护任何状态,并与更多消息进行交易。目前某些“缓存插槽”中过期的信息无法单一合并,antirez 表示一月份关于此特性还有更多工作要做。
Disque 成为模块
Disque 目的是构建分布式的内存中消息代理,此前它是一项实验功能,现在在 Redis 6 中成为模块,它可以支持集群消息总线 API,可以阻止和恢复客户端、支持计时器、模块私有数据的 AOF 和 RDB 控制功能。
集群代理
在 Redis 集群中,客户端会非常分散,现在为此引入了一个集群代理,可以为客户端抽象 Redis 群集,使其像正在与单个实例进行对话一样。同时在简单且客户端仅使用简单命令和功能时执行多路复用。
模块
Redis 6 的模块 API 达到了一个新高度,发展迅速,因为 Redis Labs 从零开始就使用模块系统来开发非常复杂的内容,使得 Redis 实际上变成一个框架,可以将系统作为模块来编写,而不必从头开始发明所有东西。
详情查看 http://www.antirez.com/news/132下载地址 https://redis.io/download
- 上一篇:Redis的持久化
- 下一篇:Redis6.0 以后为什么使用了多线程?
相关推荐
- Spring Boot 分布式事务实现简单得超乎想象
-
环境:SpringBoot2.7.18+Atomikos4.x+MySQL5.71.简介关于什么是分布式事务,本文不做介绍。有需要了解的自行查找相关的资料。本篇文章将基于SpringBoot...
- Qt编写可视化大屏电子看板系统15-曲线面积图
-
##一、前言曲线面积图其实就是在曲线图上增加了颜色填充,单纯的曲线可能就只有线条以及数据点,面积图则需要从坐标轴的左下角和右下角联合曲线形成完整的封闭区域路径,然后对这个路径进行颜色填充,为了更美观...
- Doris大数据AI可视化管理工具SelectDB Studio重磅发布!
-
一、初识SelectDBStudioSelectDBStudio是专为ApacheDoris湖仓一体典型场景实战及其兼容数据库量身打造的GUI工具,简化数据开发与管理。二、Select...
- RAD Studio 、Delphi或C++Builder设计代码编译上线缩短开发时间
-
#春日生活打卡季#本月,Embarcadero宣布RADStudio12.3Athens以及Delphi12.3和C++Builder12.3,提供下载。RADStudio12.3A...
- Mybatis Plus框架学习指南-第三节内容
-
自动填充字段基本概念MyBatis-Plus提供了一个便捷的自动填充功能,用于在插入或更新数据时自动填充某些字段,如创建时间、更新时间等。原理自动填充功能通过实现com.baomidou.myba...
- 「数据库」Sysbench 数据库压力测试工具
-
sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。以...
- 如何选择适合公司的ERP(选erp系统的经验之谈)
-
很多中小公司想搞ERP,但不得要领。上ERP的目的都是歪的,如提高效率,减少人员,堵住财务漏洞等等。真正用ERP的目的是借机提升企业管理能力,找出管理上的问题并解决,使企业管理更规范以及标准化。上ER...
- Manus放开注册,但Flowith才是Agent领域真正的yyds
-
大家好,我是运营黑客。前天,AIAgent领域的当红炸子鸡—Manus宣布全面放开注册,终于,不需要邀请码就能体验了。于是,赶紧找了个小号去确认一下。然后,额……就被墙在了外面。官方解释:中文版...
- 歌浓酒庄总酿酒师:我们有最好的葡萄园和最棒的酿酒师
-
中新网1月23日电1月18日,张裕董事长周洪江及总经理孙健一行在澳大利亚阿德莱德,完成了歌浓酒庄股权交割签约仪式,这也意味着张裕全球布局基本成型。歌浓:澳大利亚年度最佳酒庄据悉,此次张裕收购的...
- 软件测试进阶之自动化测试——python+appium实例
-
扼要:1、了解python+appium进行APP的自动化测试实例;2、能根据实例进行实训操作;本课程主要讲述用python+appium对APP进行UI自动化测试的例子。appium支持Androi...
- 为什么说Python是最伟大的语言?看图就知道了
-
来源:麦叔编程作者:麦叔测试一下你的分析能力,直接上图,自己判断一下为什么Python是最好的语言?1.有图有真相Java之父-JamesGoshlingC++之父-BjarneStrou...
- 如何在Eclipse中配置Python开发环境?
-
Eclipse是著名的跨平台集成开发环境(IDE),最初主要用来Java语言开发。但是我们通过安装不同的插件Eclipse可以支持不同的计算机语言。比如说,我们可以通过安装PyDev插件,使Eclip...
- 联合国岗位上新啦(联合国的岗位)
-
联合国人权事务高级专员办事处PostingTitleIntern-HumanRightsDutyStationBANGKOKDeadlineOct7,2025CategoryandL...
- 一周安全漫谈丨工信部:拟定超1亿条一般数据泄露属后果严重情节
-
工信部:拟定超1亿条一般数据泄露属后果严重情节11月23日,工信部官网公布《工业和信息化领域数据安全行政处罚裁量指引(试行)(征求意见稿)》。《裁量指引》征求意见稿明确了行政处罚由违法行为发生地管辖、...
- oracle列转行以及C#执行语句时报错问题
-
oracle列转行的关键字:UNPIVOT,经常查到的怎么样转一列,多列怎么转呢,直接上代码(sshwomeyourcode):SELECTsee_no,diag_no,diag_code,...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (56)
- oracle 乐观锁 (53)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)