| name | redis-cluster |
| description | Master Redis Cluster - horizontal scaling, hash slots, resharding, cluster management, and distributed architecture |
| sasmp_version | 1.3.0 |
| bonded_agent | 06-redis-clustering |
| bond_type | PRIMARY_BOND |
| version | 2.1.0 |
| last_updated | 2025-01 |
| parameters | {"cluster_operation":{"type":"string","required":true,"enum":["create","add_node","remove_node","reshard","rebalance","failover"]},"node_count":{"type":"integer","required":false,"min":6,"description":"Minimum 6 nodes for production (3 masters + 3 replicas)"},"replicas_per_master":{"type":"integer","required":false,"default":1,"min":1,"max":3}} |
| retry_config | {"max_retries":5,"backoff_strategy":"exponential","backoff_base_ms":2000,"retryable_errors":["CLUSTERDOWN","MOVED","ASK","connection_timeout"]} |
| observability | {"logging":{"level":"info","log_redirects":true},"metrics":["cluster_state","slots_assigned","nodes_ok","replication_lag_ms"]} |
| validation | {"cluster_health":{"all_slots_covered":true,"min_replicas_per_master":1},"operations":{"require_backup_before_reshard":true}} |
Redis Cluster Skill
Overview
Production-grade Redis Cluster management for horizontal scaling. Master hash slot distribution, node management, resharding, and failover procedures.
Cluster Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ REDIS CLUSTER (16384 Hash Slots) │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Master 1 │ │ Master 2 │ │ Master 3 │ │
│ │ Slots 0-5460 │ │ Slots 5461- │ │ Slots 10923- │ │
│ │ :6379 │ │ 10922 │ │ 16383 │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Replica 1 │ │ Replica 2 │ │ Replica 3 │ │
│ │ :6380 │ │ :6381 │ │ :6382 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ Key Routing: CRC16(key) % 16384 → Slot → Master │
│ │
└─────────────────────────────────────────────────────────────────────┘
Cluster Creation
Prerequisites
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
Create Cluster
redis-cli --cluster create \
192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 \
192.168.1.4:6379 192.168.1.5:6379 192.168.1.6:6379 \
--cluster-replicas 1
Cluster Commands
Status & Info
CLUSTER INFO # Cluster state summary
CLUSTER NODES # All nodes list
CLUSTER SLOTS # Slot assignments
CLUSTER MYID # Current node ID
CLUSTER KEYSLOT key # Which slot for key
CLUSTER COUNTKEYSINSLOT slot # Keys in slot
CLUSTER GETKEYSINSLOT slot count # Get keys from slot
Node Management
redis-cli --cluster add-node new-node:6379 existing-node:6379
redis-cli --cluster add-node new-node:6379 existing-node:6379 \
--cluster-slave --cluster-master-id <master-node-id>
redis-cli --cluster del-node host:6379 <node-id>
redis-cli --cluster check existing-node:6379
redis-cli --cluster fix existing-node:6379