Bird
Raised Fist0
Redisquery~5 mins

INCRBY and DECRBY in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: INCRBY and DECRBY
O(1)
Understanding Time Complexity

When working with Redis commands like INCRBY and DECRBY, it's important to understand how the time it takes to run these commands changes as the input changes.

We want to know how the cost grows when we increase the numbers or the number of commands.

Scenario Under Consideration

Analyze the time complexity of the following Redis commands.


INCRBY counter 5
DECRBY counter 3
INCRBY counter 10
DECRBY counter 2
    

These commands increase or decrease the value stored at key "counter" by a given number.

Identify Repeating Operations

Look for repeated actions in these commands.

  • Primary operation: Incrementing or decrementing the stored number by a fixed amount.
  • How many times: Each command runs once per call, no loops inside the command itself.
How Execution Grows With Input

The time to run each command stays about the same no matter how big the number is.

Input Size (n)Approx. Operations
101 operation per command
1001 operation per command
10001 operation per command

Pattern observation: The time does not increase with the size of the number being added or subtracted.

Final Time Complexity

Time Complexity: O(1)

This means each INCRBY or DECRBY command takes the same amount of time no matter how big the number is.

Common Mistake

[X] Wrong: "Increasing by a bigger number takes more time than a smaller number."

[OK] Correct: Redis handles these commands in constant time, so the size of the number does not affect how long the command takes.

Interview Connect

Understanding that simple Redis commands like INCRBY and DECRBY run in constant time helps you explain how Redis can handle many updates quickly, which is a useful skill in real-world applications.

Self-Check

"What if we used INCRBY on a key that holds a very large string instead of a number? How would the time complexity change?"

Practice

(1/5)
1. What does the Redis command INCRBY key 5 do?
easy
A. Sets the value of key to 5.
B. Subtracts 5 from the current integer value stored at key.
C. Deletes the key from Redis.
D. Adds 5 to the current integer value stored at key.

Solution

  1. Step 1: Understand the INCRBY command

    The INCRBY command increases the integer value stored at the specified key by the given amount.
  2. Step 2: Apply the command to the example

    Using INCRBY key 5 adds 5 to the current value of key.
  3. Final Answer:

    Adds 5 to the current integer value stored at key. -> Option D
  4. Quick Check:

    INCRBY adds number = Adds 5 [OK]
Hint: INCRBY always adds the number to the key's value [OK]
Common Mistakes:
  • Confusing INCRBY with DECRBY
  • Thinking INCRBY sets the value instead of adding
  • Assuming it deletes the key
2. Which of the following is the correct syntax to subtract 3 from a Redis key named counter?
easy
A. DECR counter 3
B. INCR counter -3
C. DECRBY counter 3
D. SUBTRACT counter 3

Solution

  1. Step 1: Identify the correct command for subtraction

    The Redis command to subtract a number from a key is DECRBY key number.
  2. Step 2: Check the syntax options

    DECRBY counter 3 correctly subtracts 3 from counter. INCR counter -3 is invalid (INCR takes only one argument). DECR counter 3 and SUBTRACT counter 3 are invalid.
  3. Final Answer:

    DECRBY counter 3 -> Option C
  4. Quick Check:

    DECRBY subtracts number = DECRBY counter 3 [OK]
Hint: Use DECRBY key number to subtract correctly [OK]
Common Mistakes:
  • Using DECR with two arguments (only one allowed)
  • Using INCR with an increment argument (invalid syntax)
  • Using non-existent commands like SUBTRACT
3. Given the following Redis commands executed in order:
SET score 10
INCRBY score 7
DECRBY score 4
What is the final value of score?
medium
A. 10
B. 13
C. 3
D. 17

Solution

  1. Step 1: Set initial value of score

    SET score 10 sets the value of score to 10.
  2. Step 2: Apply INCRBY and DECRBY commands

    INCRBY score 7 adds 7, making it 17. Then DECRBY score 4 subtracts 4, resulting in 13.
  3. Final Answer:

    13 -> Option B
  4. Quick Check:

    10 + 7 - 4 = 13 [OK]
Hint: Add then subtract values stepwise to find final number [OK]
Common Mistakes:
  • Ignoring the order of commands
  • Subtracting before adding
  • Confusing initial value with final
4. You run the command DECRBY visits 2 but get an error. Which is the most likely cause?
medium
A. The key visits is not an integer.
B. DECRBY requires three arguments, but only two were given.
C. DECRBY cannot subtract numbers, only add.
D. The Redis server is down.

Solution

  1. Step 1: Understand DECRBY requirements

    DECRBY subtracts a number from an integer stored at the key. If the key does not exist, Redis treats it as 0. But if the key holds a non-integer value, an error occurs.
  2. Step 2: Analyze the error cause

    The error likely means visits exists but is not an integer, causing DECRBY to fail.
  3. Final Answer:

    The key visits is not an integer. -> Option A
  4. Quick Check:

    Non-integer key causes DECRBY error [OK]
Hint: DECRBY needs integer key value; else error occurs [OK]
Common Mistakes:
  • Thinking DECRBY needs 3 arguments
  • Believing DECRBY only adds
  • Assuming server is down without checking
5. You want to track page views in Redis using a key page_views. Initially, it does not exist. You run:
INCRBY page_views 10
DECRBY page_views 3
INCRBY page_views 5
What is the final value of page_views and why?
hard
A. 12, because Redis treats missing keys as 0 and updates accordingly.
B. 15, because DECRBY does not affect the value.
C. Error, because the key did not exist initially.
D. 10, because only the first INCRBY counts.

Solution

  1. Step 1: Understand Redis behavior with missing keys

    If a key does not exist, Redis treats its value as 0 for INCRBY and DECRBY commands.
  2. Step 2: Calculate the final value step-by-step

    Starting at 0, INCRBY page_views 10 sets it to 10. Then DECRBY page_views 3 subtracts 3, making 7. Finally, INCRBY page_views 5 adds 5, resulting in 12.
  3. Final Answer:

    12, because Redis treats missing keys as 0 and updates accordingly. -> Option A
  4. Quick Check:

    0 + 10 - 3 + 5 = 12 [OK]
Hint: Missing keys start at 0 for INCRBY/DECRBY [OK]
Common Mistakes:
  • Expecting error on missing key
  • Ignoring DECRBY effect
  • Assuming only first command counts
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