版本升级期间的行为

本页面介绍了 Memorystore 实例在版本升级操作期间的行为、升级操作对应用的影响以及何时运行升级操作。如需了解如何升级实例的 Redis 版本,请参阅升级实例的 Redis 版本

根据版本的 层级,运行版本升级操作可能会对应用产生性能和存储空间方面的影响。此外,根据当前使用的内存量升级实例也存在一些限制。

升级实例的 Redis 版本的最佳做法

  • 我们建议您先导出实例数据,然后再运行版本升级操作。

  • 对于标准层级实例,要提高版本升级操作的速度和可靠性,请在实例流量较低时升级实例。如需了解如何监控实例流量,请参阅监控 Redis 实例

  • 升级标准层级实例时,请将实例写入负载保持在最低水平。高写入负载可能会导致升级操作花费的时间更长,并且可能导致升级失败。

基本层级实例升级行为

在版本升级操作正在进行时,基本层级实例会阻止读取和写入。升级操作完成后,系统会从缓存中清空所有数据。

标准层级实例升级行为

标准层级实例在版本升级过程中几乎不会出现停机时间,因为所有标准层级实例都有一个主实例和一个副本实例。在升级操作期间,系统会先升级副本实例,然后再与主实例同步。一旦新副本实例与新主实例同步,新主实例就会故障转移到新副本实例。在故障转移期间,指向实例的连接会被终止。应用应在代码中包含重试逻辑,以便能够重新连接到新的主实例。最后,原始主实例的 Redis 版本已升级。

版本升级操作完成后,由于 Redis 复制的异步特性,缓存中的数据可能会过时或不一致。您的应用应具有足够的弹性,能够处理升级操作期间出现的不一致。

过期的密钥

升级标准层级实例时不会同步过期的密钥。如果在升级之前您在 Redis 实例中有过期的密钥,则升级操作完成后密钥数将减少。