Bird
Raised Fist0
Redisquery~5 mins

SISMEMBER for membership check in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: SISMEMBER for membership check
O(1)
Understanding Time Complexity

We want to understand how long it takes to check if an item is in a Redis set using SISMEMBER.

How does the time needed change when the set gets bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


# Check if 'item' is a member of the set 'myset'
SISMEMBER myset item
    

This command checks if a specific element exists inside a Redis set.

Identify Repeating Operations
  • Primary operation: A direct lookup in the set's internal data structure.
  • How many times: The operation happens once per membership check.
How Execution Grows With Input

Checking membership takes about the same time no matter how many items are in the set.

Input Size (n)Approx. Operations
101
1001
10001

Pattern observation: The time stays roughly constant even as the set grows larger.

Final Time Complexity

Time Complexity: O(1)

This means the membership check takes about the same time no matter how big the set is.

Common Mistake

[X] Wrong: "Checking if an item is in a set takes longer as the set grows."

[OK] Correct: Redis sets use a data structure that allows quick lookups, so the time stays almost the same regardless of size.

Interview Connect

Knowing how fast membership checks work helps you design efficient data lookups in real projects and shows you understand how Redis handles data internally.

Self-Check

"What if we used a Redis list instead of a set for membership checks? How would the time complexity change?"

Practice

(1/5)
1. What does the Redis command SISMEMBER do?
easy
A. Adds a value to a set
B. Removes a value from a set
C. Checks if a value is a member of a set and returns 1 or 0
D. Returns all members of a set

Solution

  1. Step 1: Understand SISMEMBER purpose

    The SISMEMBER command checks membership of a value in a Redis set.
  2. Step 2: Identify return values

    It returns 1 if the value is in the set, otherwise 0.
  3. Final Answer:

    Checks if a value is a member of a set and returns 1 or 0 -> Option C
  4. Quick Check:

    SISMEMBER returns 1 or 0 [OK]
Hint: SISMEMBER returns 1 if present, else 0 [OK]
Common Mistakes:
  • Confusing SISMEMBER with SADD or SREM
  • Expecting SISMEMBER to return the value itself
  • Thinking SISMEMBER returns all set members
2. Which of the following is the correct syntax to check if 'apple' is in the set 'fruits' using Redis?
easy
A. SISMEMBER(fruits, apple)
B. SISMEMBER 'fruits' 'apple'
C. SISMEMBER fruits, apple
D. SISMEMBER fruits apple

Solution

  1. Step 1: Recall Redis command syntax

    Redis commands use space-separated arguments without commas or parentheses.
  2. Step 2: Match correct syntax

    Correct syntax is SISMEMBER key member, so SISMEMBER fruits apple is correct.
  3. Final Answer:

    SISMEMBER fruits apple -> Option D
  4. Quick Check:

    Redis commands use spaces, no commas or quotes needed [OK]
Hint: Use space-separated arguments without quotes or commas [OK]
Common Mistakes:
  • Adding commas between arguments
  • Using parentheses like a function call
  • Adding quotes around arguments unnecessarily
3. Given the Redis set 'colors' contains {"red", "blue", "green"}, what is the output of SISMEMBER colors yellow?
medium
A. 0
B. 1
C. red
D. Error

Solution

  1. Step 1: Check if 'yellow' is in the set 'colors'

    The set contains "red", "blue", and "green" but not "yellow".
  2. Step 2: Understand SISMEMBER return value

    SISMEMBER returns 1 if member exists, else 0. Since "yellow" is not in the set, it returns 0.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    Member absent = 0 [OK]
Hint: If value not in set, SISMEMBER returns 0 [OK]
Common Mistakes:
  • Assuming it returns the value itself
  • Confusing 0 with an error
  • Thinking it returns the whole set
4. You run the command SISMEMBER colors without specifying a member. What will happen?
medium
A. Syntax error
B. Returns 1
C. Returns 0
D. Returns all members

Solution

  1. Step 1: Check command argument requirements

    SISMEMBER requires exactly two arguments: the set key and the member to check.
  2. Step 2: Analyze missing argument effect

    Omitting the member argument causes a syntax error in Redis.
  3. Final Answer:

    Syntax error -> Option A
  4. Quick Check:

    Missing arguments cause syntax error [OK]
Hint: SISMEMBER needs two arguments; missing one causes error [OK]
Common Mistakes:
  • Expecting default member to be checked
  • Thinking it returns 0 if member missing
  • Assuming it returns all members
5. You have a Redis set 'users' with members {"alice", "bob", "carol"}. You want to check if 'dave' is a member and add him only if he is not already present. Which sequence of commands correctly does this?
hard
A. SISMEMBER users dave SREM users dave
B. SISMEMBER users dave SADD users dave
C. SADD users dave SISMEMBER users dave
D. SREM users dave SADD users dave

Solution

  1. Step 1: Check membership before adding

    Use SISMEMBER to see if 'dave' is already in 'users'.
  2. Step 2: Add 'dave' only if not present

    If SISMEMBER returns 0, then use SADD to add 'dave'.
  3. Final Answer:

    SISMEMBER users dave SADD users dave -> Option B
  4. Quick Check:

    Check membership then add if absent [OK]
Hint: Check with SISMEMBER before SADD to avoid duplicates [OK]
Common Mistakes:
  • Adding before checking membership
  • Removing member instead of adding
  • Checking membership after adding
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