Bird
Raised Fist0
Redisquery~5 mins

Resharding hash slots in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is resharding in Redis Cluster?
Resharding is the process of moving hash slots from one Redis node to another to balance data and load across the cluster.
Click to reveal answer
beginner
How many hash slots does a Redis Cluster have?
A Redis Cluster has 16,384 hash slots numbered from 0 to 16,383.
Click to reveal answer
beginner
Why do we need to reshard hash slots in Redis?
We reshard hash slots to evenly distribute data and requests among nodes, improving performance and avoiding overload on any single node.
Click to reveal answer
intermediate
What command is used to move a hash slot from one node to another in Redis?
The command used is CLUSTER SETSLOT <slot> MIGRATING <node-id> along with CLUSTER GETKEYSINSLOT and MIGRATE to move keys.
Click to reveal answer
intermediate
What happens to client requests during resharding of hash slots?
Clients may receive a MOVED response telling them to redirect requests to the new node owning the slot, ensuring smooth operation during resharding.
Click to reveal answer
How many hash slots are there in a Redis Cluster?
A512
B1024
C16384
D65536
What is the main goal of resharding hash slots in Redis?
ATo encrypt data
BTo backup data
CTo delete unused keys
DTo balance data and load across nodes
Which Redis command helps identify keys in a specific hash slot?
ACLUSTER GETKEYSINSLOT
BGETKEYS
CKEYS
DCLUSTER KEYSLOT
During resharding, what response might a client receive if it queries a moved slot?
AMOVED
BERROR
CASK
DOK
What is the first step in resharding a hash slot in Redis?
ADelete keys in the slot
BSet the slot to importing state on the target node
CMigrate keys to the target node
DRestart the cluster
Explain the process and purpose of resharding hash slots in a Redis Cluster.
Think about how Redis keeps data balanced and how clients know where to find keys.
You got /5 concepts.
    Describe what happens to client requests when a hash slot is moved to a different Redis node.
    Consider how Redis tells clients about the new location of data.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of resharding hash slots in a Redis cluster?
      easy
      A. To balance data evenly across cluster nodes
      B. To delete unused keys from the database
      C. To backup data to an external storage
      D. To increase the size of each hash slot

      Solution

      1. Step 1: Understand hash slots in Redis cluster

        Redis cluster divides data into 16384 hash slots distributed among nodes.
      2. Step 2: Purpose of resharding

        Resharding moves hash slots to balance load and storage evenly across nodes.
      3. Final Answer:

        To balance data evenly across cluster nodes -> Option A
      4. Quick Check:

        Resharding = balance data [OK]
      Hint: Resharding means redistributing data evenly [OK]
      Common Mistakes:
      • Thinking resharding deletes keys
      • Confusing resharding with backup
      • Assuming hash slot size changes
      2. Which Redis command is used to mark a hash slot as migrating during resharding?
      easy
      A. CLUSTER ADDSLOTS <slot>
      B. CLUSTER SETSLOT <slot> MIGRATING <node_id>
      C. CLUSTER DELSLOTS <slot>
      D. CLUSTER INFO

      Solution

      1. Step 1: Identify commands related to slot state changes

        CLUSTER SETSLOT command changes slot ownership or state.
      2. Step 2: Marking migrating slot

        Using MIGRATING flag with CLUSTER SETSLOT marks slot as migrating from a node.
      3. Final Answer:

        CLUSTER SETSLOT <slot> MIGRATING <node_id> -> Option B
      4. Quick Check:

        MIGRATING slot = CLUSTER SETSLOT MIGRATING [OK]
      Hint: Use CLUSTER SETSLOT with MIGRATING to mark slot move [OK]
      Common Mistakes:
      • Using ADDSLOTS or DELSLOTS instead of SETSLOT
      • Confusing INFO command with slot state change
      • Omitting node_id in command
      3. Given the following commands during resharding, what is the correct order to migrate a hash slot 5000 from node A to node B?
      1. CLUSTER SETSLOT 5000 MIGRATING nodeB_id
      2. MIGRATE nodeB_ip 6379 "" 0 5000
      3. CLUSTER SETSLOT 5000 IMPORTING nodeA_id
      4. CLUSTER SETSLOT 5000 NODE nodeB_id
      medium
      A. 1, 2, 3, 4
      B. 3, 1, 2, 4
      C. 2, 1, 3, 4
      D. 1, 3, 2, 4

      Solution

      1. Step 1: Mark slot as migrating on source node

        Use CLUSTER SETSLOT 5000 MIGRATING nodeB_id to mark slot migrating from node A.
      2. Step 2: Mark slot as importing on destination node

        Use CLUSTER SETSLOT 5000 IMPORTING nodeA_id on node B to accept keys.
      3. Step 3: Migrate keys with MIGRATE command

        Use MIGRATE to move keys of slot 5000 from node A to node B.
      4. Step 4: Assign slot ownership to destination node

        Use CLUSTER SETSLOT 5000 NODE nodeB_id to finalize ownership.
      5. Final Answer:

        1, 3, 2, 4 -> Option D
      6. Quick Check:

        Mark migrating -> mark importing -> migrate keys -> assign slot [OK]
      Hint: MIGRATING then IMPORTING before MIGRATE command [OK]
      Common Mistakes:
      • Migrating keys before marking IMPORTING
      • Assigning slot ownership before migration
      • Skipping IMPORTING step
      4. You run the following commands to reshard slot 7000 but keys are not migrating correctly:
      CLUSTER SETSLOT 7000 MIGRATING nodeB_id
      MIGRATE nodeB_ip 6379 "" 0 7000
      CLUSTER SETSLOT 7000 NODE nodeB_id
      What is missing to fix the migration?
      medium
      A. Mark slot as IMPORTING on node B before MIGRATE
      B. Run CLUSTER DELSLOTS 7000 on node A first
      C. Use CLUSTER ADDSLOTS 7000 on node B after migration
      D. Restart both nodes before migration

      Solution

      1. Step 1: Identify missing IMPORTING state

        Destination node must mark slot as IMPORTING before receiving keys.
      2. Step 2: Add missing command

        Use CLUSTER SETSLOT 7000 IMPORTING nodeA_id on node B before MIGRATE.
      3. Final Answer:

        Mark slot as IMPORTING on node B before MIGRATE -> Option A
      4. Quick Check:

        IMPORTING state needed on destination [OK]
      Hint: Always mark IMPORTING on target node before MIGRATE [OK]
      Common Mistakes:
      • Skipping IMPORTING step
      • Deleting slots prematurely
      • Restarting nodes unnecessarily
      5. During a large-scale resharding, you want to move multiple hash slots from node A to node B without downtime. Which sequence of actions ensures data consistency and minimal disruption?
      hard
      A. Assign slots to node B first, then migrate keys, finally mark MIGRATING on node A
      B. Migrate keys first, then mark slots IMPORTING on node B, finally mark MIGRATING on node A
      C. Mark slots MIGRATING on node A, mark IMPORTING on node B, migrate keys, then assign slots to node B
      D. Delete slots on node A, migrate keys, then assign slots to node B

      Solution

      1. Step 1: Mark slots as MIGRATING on source node

        This prevents writes to those slots on node A during migration.
      2. Step 2: Mark slots as IMPORTING on destination node

        Allows node B to accept keys for those slots.
      3. Step 3: Migrate keys using MIGRATE command

        Safely transfer keys from node A to node B.
      4. Step 4: Assign slots ownership to node B

        Finalizes the slot ownership after migration completes.
      5. Final Answer:

        Mark slots MIGRATING on node A, mark IMPORTING on node B, migrate keys, then assign slots to node B -> Option C
      6. Quick Check:

        MIGRATING -> IMPORTING -> MIGRATE -> ASSIGN [OK]
      Hint: Follow MIGRATING, IMPORTING, MIGRATE, then assign slots [OK]
      Common Mistakes:
      • Assigning slots before migration
      • Migrating keys without marking IMPORTING
      • Deleting slots before migration
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard