./redis-trib.rb
create {[HOST:PORT]} --replicas <slavenum>:以指定实例组建集群,每个主节点至少分配slavenum个从节点
check [HOST:PORT]:查看该节点所在集群的ID、hash槽分配、主从信息、hash槽配置是否同步等信息
info [HOST:PORT]:查看该节点所在集群的主节点的键数、hash槽数、从节点数等信息
fix [HOST:PORT] --timeout <time>:修复因hash槽未完全覆盖或存在迁移中节点导致不可用的集群
reshard [HOST:PORT]:在该节点所在集群的节点间迁移hash槽。该命令有以下参数:
--from {[HOST:PORT]}:从哪些节点上移走hash槽,可用逗号分隔节点地址,也可用--from all代表所有节点
--to [HOST:PORT]:hash槽迁移的目标节点,只能填写一个地址
--slots <num>:需要迁移的hash槽总数
--yes:在展示迁移计划后,需要用户输入yes进行确认才实际执行,如果传了此参数则跳过这一步直接执行
--timeout <time>:超时时间
--pipeline <num>:指定内部方法每次移走hash槽的数量,默认为10
rebalance [HOST:PORT]:根据用户输入的参数平衡该节点所在集群中各节点hash槽的数量,支持以下参数:
--weight [ID=weight]:为每个节点指定权重,默认为1,如果要为多个节点指定权重则需要多个--weight参数
--threshold <num>:指定触发迁移所需主节点当前hash槽数与期望被分配的hash槽数的差值
--use-empty-masters:默认设置下没有被分配hash槽的主节点不参与rebalance,使用此参数可以令其也参与
--timeout <time>:超时时间
--pipeline <num>:指定内部方法每次移走hash槽的数量,默认为10
add-node [HOST1:PORT1] [HOST2:PORT2]:将地址1对应的Redis实例加入地址2对应Redis实例所在的集群
--slave:指定该节点作为从节点加入集群
--master-id <id>:指定该节点主节点的ID,需要传了--slave参数才有效。如不指定,则会随机分配
del-node [HOST:PORT] <id>:删除该节点所在集群的指定id的节点。本命令只能删除没有分配hash槽的节点。
set-timeout [HOST:PORT] <ms>:设置节点间心跳连接的超时时间,单位为毫秒,默认为15000,最小不得小于100
call [COMMAND]:在集群的所有节点执行相同的命令
import:从外部非集群Redis节点导入数据,不推荐使用