Identify current slot distribution: redis-cli -h <any-node> -p <port> cluster nodes | awk '{print $1, $2, $9}' to see which node owns which slot ranges
Use the built-in reshard helper: redis-cli --cluster reshard <host>:<port> and follow the prompts to specify how many slots to move, the source node ID, and the destination node ID
For rebalancing after adding nodes: redis-cli --cluster rebalance <host>:<port> --cluster-use-empty-masters which distributes slots evenly and moves keys automatically
During migration, each slot is moved atomically (Redis 8.4 introduced Atomic Slot Migration for up to 30x faster migrations with lower latency spikes); on older versions, individual key migration uses MIGRATE internally
Monitor progress: watch redis-cli --cluster check <host>:<port> — all slots should be assigned before declaring the reshard complete
After resharding, verify key distribution with redis-cli --cluster info and check for any nodes in FAIL or PFAIL state
Known gotchas
Keys with hash tags (curly-braces e.g., {user}:session) are pinned to a slot by the tag content; if your application uses hash tags for multi-key transactions, ensure all related keys land on the same target node after resharding
redis-cli --cluster reshard is single-threaded and can be slow for large datasets on Redis versions before 8.4; schedule resharding during low-traffic windows and use --cluster-pipeline to batch key migrations
Clients connected during resharding may receive MOVED or ASK redirects; ensure your Redis client library handles cluster redirects (most modern clients do) and verify application error logs during the operation
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp