down-after-milliseconds 是 Redis Sentinel 用的参数用于判定节点主观下线哨兵进程读取该值Redis Server 完全不使用它。down-after-milliseconds 是谁在用谁在读它这个参数不是 Redis Server 自己用的而是 sentinel 进程在监控主从节点时用来判断“我是不是该认为这个节点挂了”的核心依据。它只存在于哨兵配置里sentinel.confRedis 实例本身完全无视它。哨兵对每个被监控的主节点或从节点单独维护一个“最后一次有效响应时间”每次向目标节点发 PING如果收到 PONG 或 PONG就刷新这个时间如果当前时间 ? 最后一次响应时间 down-after-milliseconds哨兵就把它标记为“主观下线SDOWN”注意down-after-milliseconds 是毫秒值但哨兵实际检查频率约每 100ms 一次所以真实判定延迟可能略高于设定值。为什么改了参数没生效常见配置陷阱改完 sentinel.conf 后不重启哨兵进程或者没用 SENTINEL CONFIG SET 动态推送参数就是白改。修改配置文件后必须执行 redis-sentinel /path/to/sentinel.conf 重启对应哨兵不能只 kill -HUP或者用命令动态更新SENTINEL CONFIG SET mymaster down-after-milliseconds 5000mymaster 是监控的主节点别名多个哨兵实例要各自配置不存在“主哨兵同步参数”这回事每个哨兵独立读自己的配置容易漏的一点如果用容器或 systemd 管理哨兵改完配置文件后忘记 reload service也会导致配置未加载。设太小 or 设太大分别会出什么问题down-after-milliseconds 不是越小越好也不是越大越稳得看网络和负载场景设太小如 500 Adobe Image Background Remover Adobe推出的图片背景移除工具