View a markdown version of this page

Valkey 的主要版本行为和兼容性差异 - Amazon ElastiCache

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Valkey 的主要版本行为和兼容性差异

升级到新的主要 Valkey 版本时,请查看以下可能影响您的应用程序的行为更改。

Valkey 9.0

与 Valkey 8.x 相比,Valkey 9.0 引入了以下可能破坏性的行为变化:

  • 身份验证检查在命令验证之前运行。未经身份验证的客户端现在会收到身份验证错误,而不是 “未知命令”。(#1475)

  • 事务中的错误消息包括完整的命令名称(例如,CLIENT SETNAME而不是client)。(#2286)

  • GEOSEARCH形状错误消息现在显示 “BYRADIUS、BYBOX 和 BYPOLYGON”。(#1809)

有关 Valkey 9.0 版本的更多信息,请参阅 V alkey 9. 0 版本说明。

Valkey 8.1

与 Valkey 8.0 相比,Valkey 8.1 引入的潜在破坏性行为变化为零。

有关 Valkey 8.1 版本的更多信息,请参阅 Valkey 8.1 发行说明

Valkey 8.0

与 Valkey 7.2 相比,Valkey 8.0 引入了以下可能破坏性的行为变化:

  • 嵌套MULTI或事务WATCH内部现在会中止事务。之前被默默忽略了。(#723)

  • SCAN不再返回延迟过期的密钥。(#501)

  • BITCOUNT对于不存在的键上的无效参数,则BITPOS返回错误而不是零。(Redis #11734)

  • 默认值repl-backlog-size增加了 1 MB → 10 MB。(#911)

  • 直播每个条目额外使用 8 个字节。(#688)

  • 错误消息不再包含 “Redis” 品牌。(#206)

有关 Valkey 8.0 版本的更多信息,请参阅 V alkey 8. 0 发行说明。

Valkey 7.2

Valkey 7.2.6 与之前版本的 Redis OSS 7.2.4 有相似的兼容性差异。以下是 Valkey 7.2 和 Redis OSS 7.1(或 7.0)之间可能发生的重大行为变化:

  • 冻结时间采样在命令执行期间和在脚本中进行。

  • 当对应的键不再存在时,阻塞的流命令在解除阻塞时会返回不同的错误代码(返回 -NOGROUP 或 -WRONGTYPE,而不是返回 -UNBLOCKED)。

  • 脚本的客户端跟踪现在可以跟踪脚本读取的键值,而不是由 EVAL/FCALL 调用方声明的键。

有关 Valkey 7.2 版本的更多信息,请参阅 Valkey on 上的 Redis OSS 7.2.4 发行说明(Valkey 7.2 包括从 Redis OSS 到 7.2.4 版本的所有更改)和 Valkey 7.2 版本说明。 GitHub