云数据库Redis会不断地对内核进行深度优化,用于丰富云产品功能或修复已知缺陷,提升服务稳定性。您可以在控制台上一键将内核升级至最新版本。

升级原理

升级的对象 实例架构 原理
实例小版本

集群架构

读写分离架构

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

集群架构

读写分离架构

采用热升级技术,新版本代理节点会根据旧版本代理节点的客户端连接信息来恢复连接,可实现连接不中断(可能出现毫秒级的延迟抖动)。

升级影响

升级的对象 影响
实例小版本
  • 在申请资源、升级备库或同步数据阶段,对Redis的服务无影响。
  • 在实例切换或主备切换阶段,实例将存在60秒以内的只读状态(等待数据完全同步),同时会发生秒级的连接闪断,请在业务低峰期进行升级,并确保应用程序具备重连机制。
  • 如果您的Redis实例为4.0版本,且业务中使用了布隆过滤器相关API(例如BF.ADD),升级大版本后将不再支持。
    注意 由于早期的存量4.0版本实例中,布隆过滤器相关API处于未正式开放的状态,后续的大版本和新购的4.0版本实例中已取消支持,继续使用存在未知风险(例如执行缓存分析失败),建议您将其变配至企业版(性能增强型)以支持完善的布隆过滤器。
代理(Proxy)小版本
  • 代理(Proxy)节点采用热升级技术,新版本代理节点会根据旧版本代理节点的客户端连接信息来恢复连接,可实现连接不中断(可能出现毫秒级的延迟抖动)。
  • 热升级技术仅对普通连接有效,block、Transaction、Pub和Sub等类型的命令的执行将会中断,请确保业务中的这些命令具有断线重连机制。
  • 升级代理节点时,如果Redis客户端使用直连地址连接Redis实例,则所有命令都不受影响。
说明 关于代理地址和直连地址的详细说明,请参见代理模式直连模式

操作步骤

  1. 登录Redis管理控制台
  2. 在顶部菜单栏的左上角,选择实例所属的地域。
  3. 实例列表页,单击目标实例ID。
  4. 基本信息区域框,可查看到当前的小版本。
  5. 基本信息区域框,将鼠标悬浮至小版本升级集群代理升级右侧的提示图标,查看当前小版本、升级到的小版本以及小版本的发布日志。
    图 1. 查看小版本发布日志
    查看小版本发布日志

    该提示图标会根据小版本的更新级别显示不同的颜色(从低到高为绿色、黄色、红色),可帮助您快速判断更新级别。

    更新级别 控制台提示图标的颜色 说明
    LOW 绿色 一般级别,包含日常新功能升级(例如新增某个功能)。
    MEDIUM 黄色 推荐级别, 包含功能模块优化类的升级(例如优化了某个功能)。除此以外,还包含了LOW级别所包含的更新内容。
    HIGH 红色 重要级别,包含影响稳定性或安全性的重要升级(例如修复某个漏洞或缺陷)。除此以外,还包含LOW和MEDIUM级别所包含的更新内容。
    说明 如需查看完整的小版本发布日志,请参见Redis企业版小版本发布日志Redis社区版小版本发布日志Proxy小版本发布日志
  6. 查阅小版本发布日志后,单击小版本升级集群代理升级
    注意 系统会自动检测实例的小版本,如果小版本升级集群代理升级不存在或处于无法单击的状态,表示小版本已经是最新。
  7. 在右侧弹出的面板中,选择升级的执行时间。
    说明 由于实例或主备切换阶段,实例将产生60秒以内的只读状态和秒级的连接闪断,推荐选择可维护时间内执行,系统会在实例的可维护时间段内执行实例切换操作,可最大限度地降低影响。关于如何修改实例的可维护时间,请参见设置可维护时间段
  8. 单击确定

常见问题

Q:为什么选择了执行时间为可维护时间内执行,实例的状态还是变成了小版本升级中?

A:系统在执行相应的升级前置工作,例如申请资源、同步数据等,不会执行实例切换或主备切换,不会影响实例提供服务。

说明 只有在执行实例切换或主备切换时,才会产生60秒以内的只读状态和秒级的连接闪断。

相关API

API 说明
DescribeEngineVersion 查询Redis实例的大版本和小版本信息,同时可查询到小版本的发布日志信息。
ModifyInstanceMinorVersion 升级Redis实例的小版本。