Redis 6.0 稳定版已发布!

Redis 6.0.0 稳定版 在五一期间正式发布,在发布这个版本期间,Redis 的团队大约花费了 四个月的时间,期间一共经历了四个 RC 版(Release Candidate),相应改动了许多内容,是目前 Redis的最新的版本。

对于 SSL、ACL、RESP 3 、客户端缓存、线程 I/O、副本的无盘复制、Redis-benchemark 中的集群支持、改进的 redis-cli 集群支持、Redis 模块中测试版(beta)的 Disque 和 Redis 集群代理目前位于 RedisLabs / redis-cluster-proxy 下。(想要看看的老铁们点击这:https://github.com/RedisLabs/redis-cluster-proxy)

Redis 6 是目前有史以来最大的 Redis 版本,因此即使稳定,也要小心处理。

 

1. 支持多线程 IO 操作

Redis 6.0 提供了可选的多线程模型,用来满足不同用户的需求,提高网络 IO 的性能。

 

1. 客户端缓存进行了重新设计

在 Redis 的 RC1 到现在的 GA 版, 放弃了缓存插槽方法,使用键名。(这是 Redis 核心团队分析替代方案后考虑的结果)。在客户端缓存重新设计中引入了 “广播模式”,在使用广播的时候,服务器不用记住每个客户端请求的 key,而是客户端订阅 key 的前缀,每次修改匹配前缀的 key 时,订阅的的客户端都会收到通知。 这意味着有更多消息(但仅适用于选定的前缀),但是服务器端无需进行任何内存操作。

同时,现在支持选择加入/退出模式,因此,对于不使用广播模式的客户端,可以将其缓存的内容准确告知服务器,以减少无效消息的数量。从根本上说,现在该功能在需要低内存模式和需要选择性(低带宽)模式时都更好。

 

2. 对于 RDB 文件的修改

Redis 6.0 支持一种模式,对用于复制的RDB文件如果不再有用则将立即删除。在某些环境中,最好不要将数据存储在磁盘上,而要存储在内存中。

 

3. ACL 的改进

对于 ACL 来说增加了一个新的 ACL LOG 命令,该命令允许查看所有违反ACL的客户端,访问不应该访问的命令,对于那些不应该访问的 key 或尝试失败的身份验证。这个日志实际上是在内存中,对于每个外部代理都可以调用 “ACL  LOG” 来查看发生了什么情况,对调试 ACL 问题非常有用。

 

4. PSYNC2 的改进

对复制协议 PSYNC2 进行了改进,可以修整协议中的最终 PING,可以更频繁地进行部分重新同步,从而使副本和母本更有可能找到共同的偏移量。

 

4. 带有超时的Redis命令现在要好用多

对于 BLPOP 命令和其他以前接受 秒 的命令现在都可以接受十进制数字,对于实际分辨率也得到改进,以使其永远不会比当前的 “HZ” 值更差。

 

5. RDB文件现在可以更快地加载 和 INFO 也更快

在 Redis 6.0 后的 RDB文件现在可以更快地加载,对当前文件的实际组成(较大或较小的值),可以期望获得 20 ~30% 的改进。 对于当有许多客户端连接时,INFO 也更快。

 

6. 增加新命令 STRALGO

它实现了复杂的字符串算法,实现的方法是 LCS(最长的公共子序列)算法,可以用于比较冠状病毒的RNA(通常比较其他生物的 DNA 和 RNA)。


Antirez 作者关于 Redis 6.0 链接:http://antirez.com/news/132

你可能感兴趣的:(Redis 6.0 稳定版已发布!)