Redis 6.0.0 GA
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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
xk-time 1.0.0 发布,Java 时间工具包
xk-time 1.0.0 发布了,更新如下: 1.时间戳Timestamp转换和计算。 详细使用见测试代码或博客: https://my.oschina.net/xkzhangsan/blog/4254990 2.代码优化。 软件介绍: xk-time xk-time is a datetime converter calculator formatter calendar and cron expression tool set, based on java8 date and time API, thread safe, easy to use. 时间转换,计算,格式化,解析,日历和cron表达式等的工具,使用java8,线程安全,简单易用,多达20几种常用日期格式化模板。 0.为什么要开发这个工具? (1)java8以前的Date API设计不太好,使用不方便,往往会有线程安全问题。 xk-time工具包,使用java8 api,其中Instant、LocalDate、LocalDateTime、LocalTime、ZonedDateTime等都是线程安全的类,而且增加了更丰富...
- 下一篇
Pale Moon 28.9.2 发布,苍月浏览器
Pale Moon 28.9.2 现已发布,这是一个稳定性和兼容性的次要更新。PaleMoon是一款基于Firefox浏览器优化而成的浏览器,它主要是为了提升 Firefox 的速度而设计,其中也添加了多种 Firefox 扩展,以使其更美观,功能更多。 28.9.2 版本的更新内容如下: 将 28.9 版本的浏览器重新建立在一个单独的开发分支上,该分支不包括为 Google WebComponents 进行的大量工作,以避免由于新里程碑的尚未完成和正在进行的代码而导致潜在的性能和稳定性问题。 启用 DOM 高分辨率时间戳,以便与严格依赖它们进行操作的网站兼容。 添加了首选项,以允许从地址栏中复制未转义的 URL(对于国际化域名和路径特别有用)。 要启用此功能,在 about:config中将browser.urlbar.decodeURLsOnCopy设置为true 修复了多个应用程序崩溃 发布说明:https://www.palemoon.org/releasenotes.shtml
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS关闭SELinux安全模块
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2配置默认Tomcat设置,开启更多高级功能