Adicionar nós, mover slots e remover nós em um cluster (add-node, reshard, rebalance)
RedisClusterComando
# Add the new master to the cluster (joins empty, with no slots):
redis-cli --cluster add-node node7:6379 node1:6379
# Attach a new replica to a specific master:
redis-cli --cluster add-node node8:6379 node1:6379 --cluster-slave --cluster-master-id <master-node-id>
# Move 1000 slots from all masters to the new node:
redis-cli --cluster reshard node1:6379 --cluster-from all --cluster-to <node7-id> --cluster-slots 1000 --cluster-yes
# Or rebalance automatically (give slots to empty masters too):
redis-cli --cluster rebalance node1:6379 --cluster-use-empty-masters
# Remove a node whose slots have been emptied:
redis-cli --cluster del-node node1:6379 <node-id>O que faz
Adiciona um novo master ou réplica ao cluster, move slots e suas chaves entre nós online, rebalanceia a distribuição de slots automaticamente e remove do cluster um nó esvaziado.
Quando usar
Ao escalar horizontalmente memória/throughput, espalhar a carga de um nó quente ou desativar um nó.
Atenção
A migração de slots transfere as chaves uma a uma com MIGRATE; enquanto big keys são movidas, os dois nós podem bloquear brevemente. Durante a migração, os clientes recebem redirecionamentos ASK; é necessário um cliente cluster-aware. Se um reshard for interrompido, os slots ficam no estado migrating/importing; conclua-o com --cluster fix. Não remova com del-node um master que ainda possui slots; mova seus slots primeiro.