首页/数据/Redis 进阶速查/LOADING 错误:加载窗口的重试
性能与排障129 条

LOADING 错误:加载窗口的重试

实例启动加载 RDB/AOF 期间返回 LOADING 错误,多数客户端库会按配置重试;集群切换或全量同步后的窗口也可能出现。

Redis 进阶速查数据更新于 2026-10-13

LOADING 错误的成因

实例启动时载入 RDB 或 AOF 期间处于 LOADING 状态,除少数管理命令外的请求都会收到 LOADING 类错误;集群切换与全量同步后的窗口同样可能出现。这本身是设计行为而不是故障,问题出在上游没为这段短暂窗口做准备:重试间隔设置不当会把窗口内的压力放大,健康检查不识别加载状态则会把错误直接透传给业务。

基本信息

出现时机启动加载 RDB/AOF 期间,以及同步相关窗口
服务端状态INFO persistence 中 loading 字段为 1
客户端处理识别为可重试错误,按退避策略重试
上游配合readiness 检查在加载完成前不放行
观察字段loading 与 rdb_*、aof_* 系列加载相关字段

典型使用场景

  • 滚动重启:重启后先确认加载完成,再把实例接入流量
  • 集群切换:新主升维后可能有加载或同步窗口,流量要收敛
  • 客户端治理:把 LOADING 与真实故障区分开,避免误触发熔断
  • 大实例恢复:加载时间长,重试策略要覆盖整个窗口
  • 告警定阈:加载窗口内的错误单独归类,不混入业务错误率

判断与处置

判断与处置
redis-cli INFO persistence | grep -E 'loading|rdb_|aof_'   # 加载状态与最近持久化结果
redis-cli PING                                            # 加载期间可能返回 LOADING 错误
redis-cli INFO server | grep uptime_in_seconds            # 结合运行时长判断是否刚启动
# 客户端侧:识别 LOADING 后指数退避重试,避免窗口内打满无效请求

错误类型区分

错误含义处置方向
LOADING实例正在加载数据退避重试,同时拦住上游流量
READONLY当前节点是副本检查连接目标的角色是否正确
CLUSTERDOWN集群不可用按集群预案处置,重试意义有限
连接被拒绝连接已达上限或进程未就绪先确认实例状态与 maxclients
把重试与超时策略配好,LOADING 窗口是可控的短暂阶段;关键是把这段时间的流量拦在入口,而不是让业务请求在窗口里反复失败。
大实例加载时间长,若被上游误判为服务故障,可能触发不必要的切换或重启,让恢复过程从头再来,问题被显著放大。

易错点

  • 重试间隔过短:加载窗口内打满无效请求,恢复后的第一批流量压力更大
  • 大实例加载时间长被误判为服务故障:触发重启或切换,恢复过程重新开始
  • 健康检查不识别加载状态:LOADING 错误直接透传到业务侧
  • 把 LOADING 与其他错误混在一起统计:错误率被拉高,真实故障信号被淹没

数据来源与参考

  • Redis 官方文档:LOADING 错误说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌