Bird
Raised Fist0
Redisquery~5 mins

Adding and removing nodes in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Adding and removing nodes
O(n log N)
Understanding Time Complexity

When working with Redis, adding and removing nodes affects how fast operations run.

We want to know how the time to add or remove nodes changes as we handle more data.

Scenario Under Consideration

Analyze the time complexity of adding and removing nodes in Redis.


# Add a node to a sorted set
ZADD myset 1 node1

# Remove a node from the sorted set
ZREM myset node1

# Add multiple nodes
ZADD myset 2 node2 3 node3 4 node4

# Remove multiple nodes
ZREM myset node2 node3

This code adds and removes nodes (members) from a sorted set in Redis.

Identify Repeating Operations

Look at what repeats when adding or removing nodes.

  • Primary operation: Adding or removing each node in the sorted set.
  • How many times: Once per node added or removed.
How Execution Grows With Input

Each node added or removed takes a similar amount of work.

Input Size (n)Approx. Operations
10About 10 operations
100About 100 operations
1000About 1000 operations

Pattern observation: The work grows directly with the number of nodes you add or remove.

Final Time Complexity

Time Complexity: O(n log N)

This means the time to add or remove nodes grows in a straight line with how many nodes you handle.

Common Mistake

[X] Wrong: "Adding or removing multiple nodes is always constant time because Redis is fast."

[OK] Correct: Each node requires work, so more nodes mean more time, even if Redis is efficient.

Interview Connect

Understanding how adding and removing nodes scales helps you explain performance in real Redis use cases.

Self-Check

"What if we used a different Redis data structure like a hash instead of a sorted set? How would the time complexity change?"

Practice

(1/5)
1. What is the primary purpose of adding nodes to a Redis cluster?
easy
A. To increase the cluster's capacity and distribute data
B. To delete all data from the cluster
C. To backup the cluster data
D. To change the Redis version on all nodes

Solution

  1. Step 1: Understand what adding nodes means

    Adding nodes means increasing the number of servers in the cluster to share the data load.
  2. Step 2: Identify the effect of adding nodes

    More nodes mean more capacity and better data distribution across the cluster.
  3. Final Answer:

    To increase the cluster's capacity and distribute data -> Option A
  4. Quick Check:

    Adding nodes = More capacity and distribution [OK]
Hint: Adding nodes grows cluster capacity and data spread [OK]
Common Mistakes:
  • Thinking adding nodes deletes data
  • Confusing adding nodes with backup
  • Assuming adding nodes upgrades Redis version
2. Which of the following is the correct syntax to add a node to a Redis cluster using redis-cli?
easy
A. redis-cli --cluster add-node :<port> :<port>
B. redis-cli --cluster remove-node :<port>
C. redis-cli --cluster create-node :<port>
D. redis-cli --cluster add :<port>

Solution

  1. Step 1: Recall the command to add a node

    The correct command uses --cluster add-node followed by the new node and an existing node in the cluster.
  2. Step 2: Match the syntax

    redis-cli --cluster add-node :<port> :<port> matches the correct syntax: redis-cli --cluster add-node new-node existing-node.
  3. Final Answer:

    redis-cli --cluster add-node <new-node-ip>:<port> <existing-node-ip>:<port> -> Option A
  4. Quick Check:

    Correct add-node syntax = redis-cli --cluster add-node :<port> :<port> [OK]
Hint: Add node command uses --cluster add-node with new and existing nodes [OK]
Common Mistakes:
  • Using remove-node instead of add-node
  • Using create-node which does not exist
  • Omitting existing node IP in command
3. Given the command redis-cli --cluster del-node 192.168.1.5:7000 07c37dfeb2352e03a5a1e1f3a2f8b9a1f2e3d4c5, what will happen?
medium
A. A new node will be added at 192.168.1.5:7000
B. The node at 192.168.1.5:7000 will be removed from the cluster
C. The cluster will be created with the given node ID
D. The command will fail due to wrong syntax

Solution

  1. Step 1: Understand the del-node command

    The command redis-cli --cluster del-node removes a node from the cluster using its IP and node ID.
  2. Step 2: Analyze the given command

    The command specifies the node IP and the node ID, so it will remove that node from the cluster.
  3. Final Answer:

    The node at 192.168.1.5:7000 will be removed from the cluster -> Option B
  4. Quick Check:

    del-node removes specified node [OK]
Hint: del-node removes node by IP and node ID [OK]
Common Mistakes:
  • Confusing del-node with add-node
  • Thinking it adds a node
  • Assuming command syntax is incorrect
4. You run redis-cli --cluster add-node 192.168.1.10:7003 192.168.1.11:7000 but get an error. What is the most likely cause?
medium
A. The new node is already part of the cluster
B. The existing node IP is incorrect
C. The command should be --cluster del-node instead
D. Redis server is not running on the new node

Solution

  1. Step 1: Check prerequisites for adding a node

    The new node must be running Redis and reachable for the add-node command to succeed.
  2. Step 2: Identify common causes of add-node failure

    If Redis is not running on the new node, the command will fail because it cannot connect.
  3. Final Answer:

    Redis server is not running on the new node -> Option D
  4. Quick Check:

    New node must run Redis to add [OK]
Hint: New node must be running Redis before adding [OK]
Common Mistakes:
  • Assuming IP typo without checking server status
  • Confusing add-node with del-node command
  • Ignoring that Redis must run on new node
5. You want to remove a node from a Redis cluster but keep its data safe. Which sequence of commands should you use?
hard
A. Use redis-cli --cluster del-node then backup data manually
B. Directly stop the Redis server on the node and remove it
C. Use redis-cli --cluster reshard to move slots, then redis-cli --cluster del-node
D. Use redis-cli --cluster add-node to replace the node

Solution

  1. Step 1: Understand data safety when removing nodes

    Removing a node without moving its data causes data loss.
  2. Step 2: Use reshard to move data slots

    Resharding moves the data slots from the node to be removed to other nodes safely.
  3. Step 3: Remove the node after resharding

    After data is moved, del-node safely removes the node without data loss.
  4. Final Answer:

    Use redis-cli --cluster reshard to move slots, then redis-cli --cluster del-node -> Option C
  5. Quick Check:

    Reshard then del-node = safe removal [OK]
Hint: Reshard slots before removing node to keep data safe [OK]
Common Mistakes:
  • Removing node without moving data first
  • Stopping server directly causing data loss
  • Confusing add-node with removal process
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