You need to enable JavaScript to run this app.
导航

为什么连接 Redis 实例时,会出现 ClusterAllFailedError:Failed to refresh slots cache 报错?

最近更新时间2023.12.04 19:56:19

首次发布时间2023.12.04 19:56:19

问题现象

当通过 Node.js 客户端连接缓存数据库 Redis 版实例时,出现了 ClusterAllFailedError:Failed to refresh slots cache 错误提示,具体报错信息如下图所示。
报错

可能原因

当 Redis 实例启动时,系统会从主节点获取所有 slot 信息并进行缓存。但如果此时实例中的一个或多个节点出现故障,或者节点间的网络连接中断,slot 缓存可能会过时或无效,从而出现 ClusterAllFailedError:Failed to refresh slots cache 报错,同时无法对实例进行任何查询。

处理方法

您可以参考如下方法解决 ClusterAllFailedError:Failed to refresh slots cache 报错问题:

  1. 检查客户端相关设置是否满足访问 Redis 实例要求。需重点关注如下几点:
    • 是否已将客户端的 IP 地址或 ECS 的 IP地址加入 Redis 的 IP白名单中。设置白名单的方法,请参见设置白名单
    • 如需使用私网地址访问 Redis 实例,需确保客户端所在的 ECS 实例与目标 Redis 实例在同一私有网络(VPC)。如需修改私有网络,请参见修改私有网络或子网
  2. 检查客户端连接代码设置是否正确,需重点关注如下几点:
  3. 若经过上述检查修改之后问题依然存在,请提交工单联系技术支持。