Bird
Raised Fist0
Redisquery~5 mins

ZINCRBY for score updates in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: ZINCRBY for score updates
O(log n)
Understanding Time Complexity

When using Redis to update scores in a sorted set, it's important to know how the time it takes changes as the data grows.

We want to understand how the cost of updating a score with ZINCRBY changes when the number of elements increases.

Scenario Under Consideration

Analyze the time complexity of the following Redis command usage.


# Increase the score of a member in a sorted set
ZINCRBY leaderboard 5 player123

# Repeat for multiple players or updates
ZINCRBY leaderboard 3 player456
ZINCRBY leaderboard 10 player789
    

This code increases the score of a player in a sorted set called 'leaderboard' by a given amount.

Identify Repeating Operations

Look for repeated actions that affect time.

  • Primary operation: Redis searches and updates the member's score in the sorted set.
  • How many times: Each ZINCRBY command does this once per call.
How Execution Grows With Input

As the sorted set grows, finding and updating a member takes a bit more time.

Input Size (n)Approx. Operations
10About 3 steps
100About 7 steps
1000About 10 steps

Pattern observation: The steps grow slowly as the number of members increases, because Redis uses a fast search method.

Final Time Complexity

Time Complexity: O(log n)

This means the time to update a score grows slowly and predictably as the sorted set gets bigger.

Common Mistake

[X] Wrong: "Updating a score with ZINCRBY takes the same time no matter how big the set is."

[OK] Correct: Redis must find the member in the sorted set, and this search takes a bit longer as the set grows, so time does increase but slowly.

Interview Connect

Understanding how Redis commands scale helps you explain your choices clearly and shows you know how data size affects performance.

Self-Check

"What if we used ZADD with the XX option instead of ZINCRBY? How would the time complexity change?"

Practice

(1/5)
1.

What does the Redis command ZINCRBY do?

easy
A. It creates a new sorted set without any members.
B. It increases the score of a member in a sorted set by a given amount.
C. It returns the rank of a member in a sorted set.
D. It deletes a member from a sorted set.

Solution

  1. Step 1: Understand the purpose of ZINCRBY

    ZINCRBY is used to increase the score of a member in a sorted set by a specified increment.
  2. Step 2: Compare with other options

    Other options describe different commands: deletion, rank retrieval, or creation, which are not what ZINCRBY does.
  3. Final Answer:

    It increases the score of a member in a sorted set by a given amount. -> Option B
  4. Quick Check:

    ZINCRBY increments score of member [OK]
Hint: ZINCRBY always adds to a member's score in sorted sets [OK]
Common Mistakes:
  • Confusing ZINCRBY with ZREM (removal)
  • Thinking it returns rank instead of updating score
  • Assuming it creates a new sorted set without members
2.

Which of the following is the correct syntax to increase the score of member user1 by 5 in sorted set leaderboard?

?
easy
A. ZINCRBY leaderboard 5 user1
B. ZINCRBY leaderboard user1 5
C. ZINCRBY 5 leaderboard user1
D. ZINCRBY user1 leaderboard 5

Solution

  1. Step 1: Recall ZINCRBY syntax

    The correct syntax is: ZINCRBY key increment member.
  2. Step 2: Match syntax with options

    ZINCRBY leaderboard 5 user1 matches the correct order: ZINCRBY leaderboard 5 user1.
  3. Final Answer:

    ZINCRBY leaderboard 5 user1 -> Option A
  4. Quick Check:

    Command order = ZINCRBY key increment member [OK]
Hint: Remember: ZINCRBY key increment member [OK]
Common Mistakes:
  • Swapping member and increment positions
  • Putting member before key
  • Using increment before key
3.

Given the following Redis commands executed in order:

ZINCRBY scores 10 alice
ZINCRBY scores 5 bob
ZINCRBY scores -3 alice
ZINCRBY scores 2 charlie

What is the score of alice after these commands?

medium
A. 7
B. 10
C. 12
D. -3

Solution

  1. Step 1: Calculate alice's score changes

    First increment: +10, then decrement: -3, total = 10 - 3 = 7.
  2. Step 2: Confirm final score

    Other members' scores do not affect alice's score.
  3. Final Answer:

    7 -> Option A
  4. Quick Check:

    10 - 3 = 7 [OK]
Hint: Add increments for the same member to get final score [OK]
Common Mistakes:
  • Ignoring negative increments
  • Adding scores of other members
  • Using only the first increment
4.

What is wrong with this Redis command to increase user2's score by 4 in sorted set game_scores?

ZINCRBY game_scores user2 4
medium
A. The increment value must be negative.
B. The key name is missing.
C. The command should be ZADD instead of ZINCRBY.
D. The increment and member arguments are swapped.

Solution

  1. Step 1: Check argument order for ZINCRBY

    ZINCRBY syntax is: ZINCRBY key increment member. Here, 'user2' and '4' are swapped.
  2. Step 2: Identify the error

    The command should be: ZINCRBY game_scores 4 user2.
  3. Final Answer:

    The increment and member arguments are swapped. -> Option D
  4. Quick Check:

    Order must be key, increment, member [OK]
Hint: Increment always comes before member in ZINCRBY [OK]
Common Mistakes:
  • Swapping increment and member
  • Using ZADD instead of ZINCRBY for increment
  • Thinking increment must be negative
5.

You have a sorted set ranking with members and scores:

"alice" 15
"bob" 20
"carol" 10

You want to increase carol's score by 12 and decrease bob's score by 5 using Redis commands. Which sequence of commands correctly updates the scores?

hard
A. ZADD ranking 22 carol ZADD ranking 15 bob
B. ZINCRBY ranking carol 12 ZINCRBY ranking bob -5
C. ZINCRBY ranking 12 carol ZINCRBY ranking -5 bob
D. ZINCRBY ranking 5 carol ZINCRBY ranking -12 bob

Solution

  1. Step 1: Apply correct ZINCRBY syntax for increments

    To increase carol's score by 12: ZINCRBY ranking 12 carol.
  2. Step 2: Apply correct ZINCRBY syntax for decrement

    To decrease bob's score by 5: ZINCRBY ranking -5 bob.
  3. Step 3: Verify other options

    ZINCRBY ranking carol 12 ZINCRBY ranking bob -5 swaps increment and member, ZADD ranking 22 carol ZADD ranking 15 bob uses ZADD which replaces scores, ZINCRBY ranking 5 carol ZINCRBY ranking -12 bob uses wrong increments.
  4. Final Answer:

    ZINCRBY ranking 12 carol ZINCRBY ranking -5 bob -> Option C
  5. Quick Check:

    Use ZINCRBY with positive and negative increments [OK]
Hint: Use positive or negative increments with ZINCRBY to adjust scores [OK]
Common Mistakes:
  • Swapping member and increment arguments
  • Using ZADD which overwrites scores instead of incrementing
  • Using wrong increment values
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