dot Redis 8 来了——而且是开源的

了解更多

宣布 Redis Enterprise 5.4.2,改进了对开源 Redis 的 CRDB 兼容性

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

Redis Enterprise 5.4.2 还包含其他新功能和特性,例如

Redis Enterprise 5.4.2 中 Active-active Redis 的兼容性

在 5.4.2 版本之前,我们将 COUNTER 视为 Redis 中不同的数据类型。在某些情况下,这与用户习惯使用 Redis 的方式产生了冲突。例如,与使用 SET 设置值,然后使用开源 Redis 中的 INCR 命令递增它不同,对于 CRDB,一旦设置了值,就无法递增它,因为它不被视为 COUNTER。

由于 CRDB 背后的主要思想之一是允许应用程序从标准 Redis 部署平滑迁移到 active-active 部署,因此我们意识到必须更改此设计。从现在开始,任何 CRDB COUNTER 操作都将以与 Redis 中完全相同的方式处理。例如,Redis 将在应用操作之前检查数据的编码,因此只有在值编码为整数时,INCR 操作才会成功。 CRDB 现在将遵循相同的算法。

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

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

升级 CRDB

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

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

请注意

  • 将实例升级为使用新协议版本后,它将自动同步任何缺失的写入操作。
  • 此过程仅适用于更改基本 CRDB 行为的 CRDB 协议升级。 这是一个特殊情况,我们预计未来的升级不需要它。

为了升级 CRDB 的协议,请按照这些升级说明进行操作。

如果您对 Redis Enterprise 5.4.2 中还有哪些新功能感兴趣,请查看我们的技术文档或查看我们的发行说明

如有任何疑问,请随时通过 [email protected] 联系我们!