RedisShake同步前必须确认4个配置点地址格式ip:port、密码与ACL权限allkeysall、repl-backlog-size≥512MB且protected-mode关闭、sync_modesync集群下需确保slot分配正确、支持断点续传且避免模块命令丢失。RedisShake 同步前必须确认的 4 个配置点不检查这些同步大概率卡在 connect timeout 或写入失败。RedisShake 不是黑盒工具它对源和目标的权限、协议、版本都敏感。source.address 和 target.address 必须写成 ip:port 格式不能带 redis:// 前缀集群模式下 target.address 填任意一个节点地址即可但该节点必须可访问整个集群即开启 cluster-enabled yes 且握手正常单机 Redis 若启用了密码source.auth 必须填明文密码集群若启用了密码如通过 requirepass 或 ACLtarget.auth 也必须匹配且账号需有 allkeys all 权限仅 allkeys 不够ACL 模式下写操作需要显式授权 set、hset 等确保源 Redis 的 repl-backlog-size 足够大建议 ≥ 512mb否则长连接断开后无法增量续传同时关闭 protected-mode yes 或配好 bind否则 RedisShake 连不上RedisShake 默认使用 RDB AOF 混合模式同步但集群不支持 slaveof所以必须设 sync_mode sync全量增量不能用 restore 模式后者会尝试发 slaveof 命令直接报错 ERR This instance has cluster support enabled如何避免 key slot 分配错误导致写入失败集群模式下key 必须落在对应 slot而 RedisShake 默认不做 slot 映射——它原样转发 key由目标集群按 CRC16 自动分配 slot。如果源数据里有含 {...} 的 hash tag或用了 eval 脚本批量写多个 key就容易触发 MOVED 或 ASK 重定向失败。全量阶段RedisShake 会自动把每个 key 用 CLUSTER KEYSLOT 计算 slot再发给对应节点这个过程不可跳过也不可关你不需要、也不能手动指定 slot但如果你的源数据包含大量跨 slot 的 MSET 或 Lua 脚本比如 redis.call(set, KEYS[1], ARGV[1]); redis.call(hset, KEYS[2], ...)同步会失败因为集群不允许跨 slot 原子操作必须提前拆解成单 key 操作或改用 pipeline 分批提交验证方法同步启动后立刻查目标集群任一节点的 INFO cluster看 cluster_stats_messages_sent 是否持续增长再随机抽几个 key 执行 CLUSTER KEYSLOT keyname确认 slot 分布符合预期同步中断后怎么安全续传而不是重来RedisShake 支持断点续传但依赖两个关键状态文件redis-shake.conf 中的 meta_file 路径必须可写且不能被清理同时源 Redis 的复制偏移量master_repl_offset不能被覆盖即 RDB 不能被新全量刷掉。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能