dot 极速的未来即将来临,在您所在的城市举办一场活动。

在发布 Redis 时加入我们

推出 Redis Enterprise 5.4.2,为开放源代码 Redis 改进 CRDB 兼容性

我们刚刚发布一个新版本 Redis Enterprise – v5.4.2,很高兴地宣布我们添加了一项备受期待的功能。本版本的一大亮点是,通过 CRDB(无冲突复制数据库)的活动-活动 Redis( COUNTER 操作)与开源 Redis 的兼容性得到了改进。

Redis Enterprise 5.4.2 还包含其他新功能:例如

Redis Enterprise 5.4.2 中的活动-活动 Redis 兼容性

在版本 5.4.2 之前,我们在 Redis 中将 COUNTER 视为不同的数据类型。在某些情况下,这会与用户习惯的 Redis 使用方式产生冲突。例如,与在开源 Redis 中通过 INCR 命令将值先设置为,然后对该值增量不同,使用 CRDB 时,一旦 SET 一个值,就不能使用 INCR 对其进行增量,因为它不会被视为 COUNTER。

鉴于 CRDB 的主要理念之一是允许应用程序从标准 Redis 部署平滑迁移到活动-活动部署,因此我们意识到必须更改此设计。从现在起,任何 CRDB COUNTER 操作都将以在 Redis 中处理它们完全相同的方式进行处理。例如,Redis 会先检查数据的编码,然后再应用某个操作,因此只有当值被编码为整数时,INCR 操作才会成功。CRDB 现在将遵循相同的算法。

上述 CRDB 改进也适用于其他 Redis 数据类型,例如包含和使用字符串的 Redis 散列表。

为了更新 CRDB 的字符串数据类型行为,我们对其内部结构和 CRDB 实例之间的通信协议进行了更改。要享受这些改进,需要安装 Redis Enterprise 版本 5.4.2,然后升级您现有的 CRDB 部署。这将自动执行所需的 Redis 服务器重启。新创建的 CRDB 将受益于活动-活动兼容性。

升级 CRDB

CRDB 协议向后兼容,这意味着使用新协议的 Redis Enterprise 5.4.2 CRDB 实例可以理解来自 5.4.2 以下版本的实例的写入操作。然而,它不向前兼容,因此使用旧协议的 CRDB 实例无法理解使用较新协议版本的实例的写入操作。因此,在您在一个实例上升级 CRDB 协议后,尚未升级的其他实例可能无法从已升级的实例同步,尽管已升级的实例会收到来自已升级和未升级实例的更新。

因此,我们强烈建议您在合理的时间范围内升级特定 CRDB 的所有实例,以避免它们之间出现临时不一致。

请注意

  • 当您将实例升级到使用新协议版本后,它将 自动同步从任何缺少的写入操作中。
  • 此流程仅对改变 CRDB 基本行为的 CRDB 协议升级是必需的。这是一个例外情况,我们不认为未来升级需要这样做。

为了升级您的 CRDB 的协议,请遵循这些 升级说明

如果您有兴趣详细了解在 Redis Enterprise 5.4.2 中还有什么新增内容,请查看我们的 技术文档或查看我们的发行说明.

对于任何问题,请随时给我们发送电子邮件:pm.group@redis.com