Bird
Raised Fist0
Redisquery~5 mins

SET and GET commands in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: SET and GET commands
O(1)
Understanding Time Complexity

When using Redis commands like SET and GET, it's helpful to know how the time to run these commands changes as data grows.

We want to understand how fast these commands work when storing or retrieving data.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


SET user:1000 "Alice"
GET user:1000
SET user:1001 "Bob"
GET user:1001
SET user:1002 "Carol"
GET user:1002
    

This code stores and retrieves simple string values by key in Redis.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Each SET or GET command accesses a key in the database.
  • How many times: Each command runs once per key, no loops or recursion involved.
How Execution Grows With Input

Each command works directly with one key, so the time to run one command stays about the same no matter how many keys exist.

Input Size (n)Approx. Operations
10About 1 operation per command
100About 1 operation per command
1000About 1 operation per command

Pattern observation: The time to run each command stays steady even as the number of keys grows.

Final Time Complexity

Time Complexity: O(1)

This means each SET or GET command takes about the same time regardless of how many keys are stored.

Common Mistake

[X] Wrong: "The GET command takes longer if there are more keys stored in Redis."

[OK] Correct: Redis uses a fast way to find keys, so GET runs in constant time no matter how many keys exist.

Interview Connect

Knowing that SET and GET run quickly helps you explain how Redis can handle many requests fast, a useful skill in real projects and interviews.

Self-Check

"What if we changed the keys to very long strings? How would the time complexity change?"

Practice

(1/5)
1. What does the Redis SET command do?
easy
A. Retrieves a value by key
B. Stores a value with a specified key
C. Deletes a key and its value
D. Lists all keys in the database

Solution

  1. Step 1: Understand the purpose of SET

    The SET command in Redis is used to save or store a value associated with a key.
  2. Step 2: Compare with other commands

    GET retrieves values, DEL deletes keys, and KEYS lists keys, so they are not correct here.
  3. Final Answer:

    Stores a value with a specified key -> Option B
  4. Quick Check:

    SET saves data = A [OK]
Hint: SET saves data by key, GET fetches it [OK]
Common Mistakes:
  • Confusing SET with GET
  • Thinking SET deletes data
  • Mixing SET with key listing
2. Which of the following is the correct syntax to store the value "hello" with the key "greeting" in Redis?
easy
A. SET greeting hello
B. GET greeting hello
C. SET "greeting" "hello"
D. SET greeting, hello

Solution

  1. Step 1: Recall Redis SET syntax

    The correct syntax is SET key value without commas or quotes unless the shell requires them.
  2. Step 2: Analyze options

    SET greeting hello matches the correct syntax. GET greeting hello uses GET which is wrong. SET "greeting" "hello" uses quotes unnecessarily. SET greeting, hello uses a comma which is invalid.
  3. Final Answer:

    SET greeting hello -> Option A
  4. Quick Check:

    SET key value no commas [OK]
Hint: Use SET key value without commas or quotes [OK]
Common Mistakes:
  • Using GET instead of SET
  • Adding commas between arguments
  • Unnecessary quotes around key/value
3. Given the following Redis commands executed in order:
SET color blue
GET color
SET color red
GET color

What will be the output of the two GET commands?
medium
A. "blue" and then "red"
B. "red" and then "blue"
C. "blue" and then "blue"
D. nil and then "red"

Solution

  1. Step 1: Analyze the first SET and GET

    The first SET color blue stores "blue". The first GET color returns "blue".
  2. Step 2: Analyze the second SET and GET

    The second SET color red overwrites the value with "red". The second GET color returns "red".
  3. Final Answer:

    "blue" and then "red" -> Option A
  4. Quick Check:

    SET overwrites value, GET returns current value [OK]
Hint: SET overwrites; GET returns latest value [OK]
Common Mistakes:
  • Assuming GET returns old value
  • Thinking SET appends values
  • Expecting nil on first GET
4. You run the command GET username but get a nil response. Which of the following could fix this issue?
medium
A. Run GET username again immediately
B. Use DEL username before GET
C. Restart the Redis server
D. Run SET username "guest" before GET

Solution

  1. Step 1: Understand nil response from GET

    Nil means the key "username" does not exist or has no value stored.
  2. Step 2: Fix by setting a value

    To get a value, you must first store it using SET username "guest". Other options do not create the key.
  3. Final Answer:

    Run SET username "guest" before GET -> Option D
  4. Quick Check:

    Nil means no key; SET creates it [OK]
Hint: Nil means missing key; SET it first [OK]
Common Mistakes:
  • Retrying GET without SET
  • Deleting key before GET
  • Restarting server unnecessarily
5. You want to store a user's session token in Redis with key "session:123" and value "abc123token". Which sequence of commands correctly stores and retrieves this token?
hard
A. SET session:123 abc123token DEL session:123 GET session:123
B. GET session:123 SET session:123 abc123token
C. SET session:123 abc123token GET session:123
D. SET "session:123" "abc123token" DEL session:123 GET session:123

Solution

  1. Step 1: Store the session token

    Use SET session:123 abc123token to save the token under the key.
  2. Step 2: Retrieve the stored token

    Use GET session:123 to fetch the token value.
  3. Step 3: Analyze other options

    GET session:123 SET session:123 abc123token tries to GET before SET, so returns nil. Options A and C delete the key before GET, so GET returns nil.
  4. Final Answer:

    SET session:123 abc123token GET session:123 -> Option C
  5. Quick Check:

    SET then GET returns stored value [OK]
Hint: Always SET before GET to retrieve stored data [OK]
Common Mistakes:
  • GET before SET returns nil
  • Deleting key before GET
  • Using quotes unnecessarily
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