如需体验Redis新版本的相关功能,您可以在控制台上一键升级Redis实例的大版本,例如从Redis 2.8升级到Redis 4.0。

升级原理

不同的架构在升级时所采取的流程有所区别,详情请参见下表:

架构 升级原理
集群架构
  1. 申请资源:申请新版本实例所需的资源(例如代理节点资源)。
  2. 同步数据:将原实例的全量和增量数据,同步至新版本实例中。
  3. 实例切换:数据同步接近完成时,原实例将被设置为只读并等待数据完全同步(60秒以内),随后系统会将虚拟IP地址VIP(Virtual IP Address)从原实例解绑并绑定至新实例。
    说明 如果选择了 可维护时间内执行,系统会在实例的可维护时间段内执行实例切换操作。
  4. 升级完成:释放原实例资源并将新实例的状态为修改为运行中
读写分离架构
标准架构
  1. 升级备库:停止原备库,然后启动新版本的备库。
  2. 同步数据:新版本的备库从主库同步数据。
  3. 主备切换:数据同步接近完成时,实例将被设置为只读并等待数据完全同步(60秒以内),随后系统会将VIP(Virtual IP Address)从主库解绑并绑定至备库,同时执行主备切换,将新版本的备库升级为主库。
    说明 如果选择了 可维护时间内执行,系统会在实例的可维护时间段内执行主备切换操作。
  4. 升级备库(即原主库):原先的主库成为了备库,系统会重复执行步骤1和步骤2完成备库的升级和数据同步。
  5. 升级完成:更新实例状态为运行中

升级影响

  • 在申请资源、升级备库或同步数据阶段,对Redis的服务无影响。
  • 在实例切换或主备切换阶段,实例将存在60秒以内的只读状态(等待数据完全同步),同时会发生秒级的连接闪断,请在业务低峰期进行升级,并确保应用程序具备重连机制。
  • 如果您的Redis实例为4.0版本,且业务中使用了布隆过滤器相关API(例如BF.ADD),升级大版本后将不再支持。
    注意 由于早期的存量4.0版本实例中,布隆过滤器相关API处于未正式开放的状态,后续的大版本和新购的4.0版本实例中已取消支持,继续使用存在未知风险(例如执行缓存分析失败),建议您将其变配至企业版( 性能增强型)以支持完善的布隆过滤器。

操作步骤

  1. 登录Redis管理控制台
  2. 在顶部菜单栏的左上角,选择实例所属的地域。
  3. 实例列表页,单击目标实例ID。
  4. 基本信息区域框,单击右侧的大版本升级
    图 1. 升级大版本
    升级实例的大版本
    说明 如果没有 大版本升级按钮,表示该实例已经是最新的大版本。
  5. 在右侧弹出的面板中,选择升级的目标版本和执行时间。
    注意 由于实例切换或主备切换阶段,实例将产生60秒以内的只读状态和秒级的连接闪断,推荐选择 可维护时间内执行,系统会在实例的可维护时间段内执行实例切换操作,可最大限度地降低影响。关于如何修改实例的可维护时间,请参见 设置可维护时间段
  6. 单击确定

相关API

API 说明
ModifyInstanceMajorVersion 升级Redis实例的大版本。

常见问题

  • Q:如何升级到Redis 6.0?

    A:暂不支持升级到Redis 6.0。如需体验Redis 6.0的相关新特性,您需要创建云盘版实例,并选择版本号为Redis 6.0。具体操作,请参见创建Redis社区版云盘实例

  • Q:为什么选择了执行时间为可维护时间内执行,实例的状态还是变成了大版本升级中?
    A:系统在执行相应的升级前置工作,例如申请资源、同步数据等,不会执行实例切换或主备切换,不会影响实例提供服务。
    说明 只有在执行实例切换或主备切换时,才会产生60秒以内的只读状态和秒级的连接闪断。
  • Q:升级提示失败?

    A:如果您的实例为历史规格(即已下线规格),您需要先完成变更配置操作(可选择内存容量相同的规格),再执行升级大版本的操作。