Bird
Raised Fist0
Redisquery~20 mins

SADD and SREM for membership in Redis - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Redis Set Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
1:30remaining
What is the result of adding members with SADD?
You have an empty Redis set named fruits. You run the command SADD fruits apple banana apple. What is the return value of this command?
Redis
SADD fruits apple banana apple
A3
B2
C1
D0
Attempts:
2 left
💡 Hint
SADD adds only unique members and returns the number of new elements added.
❓ query_result
intermediate
1:30remaining
What happens when removing members with SREM?
Given a Redis set colors containing {red, green, blue}, what does the command SREM colors green yellow return?
Redis
SREM colors green yellow
A3
B2
C0
D1
Attempts:
2 left
💡 Hint
SREM returns the number of members actually removed from the set.
📝 Syntax
advanced
1:30remaining
Which SADD command is syntactically correct?
Choose the correct syntax to add multiple members to a Redis set named pets:
ASADD pets [dog cat bird]
BSADD pets (dog, cat, bird)
CSADD pets dog cat bird
DSADD pets 'dog', 'cat', 'bird'
Attempts:
2 left
💡 Hint
Redis commands list members separated by spaces without brackets or quotes.
❓ query_result
advanced
2:00remaining
What is the set content after SADD and SREM commands?
Starting with an empty set numbers, you run these commands in order:
1. SADD numbers 1 2 3 4
2. SREM numbers 2 5
3. SADD numbers 5 6
What members does the set numbers contain now?
Redis
SADD numbers 1 2 3 4
SREM numbers 2 5
SADD numbers 5 6
A{1, 3, 4, 5, 6}
B{1, 2, 3, 4, 5, 6}
C{1, 3, 4, 6}
D{2, 3, 4, 5, 6}
Attempts:
2 left
💡 Hint
Remember SREM removes only existing members; SADD adds unique members.
🧠 Conceptual
expert
2:00remaining
Why does SADD return 0 sometimes?
You run SADD animals dog cat on a set that already contains {dog, cat}. What does the return value 0 mean in this context?
ANo new members were added because all were already present
BThe command failed due to a syntax error
CThe set was deleted before the command ran
DThe command added zero members because the set is full
Attempts:
2 left
💡 Hint
SADD returns the count of new unique members added, not total members.

Practice

(1/5)
1. What does the Redis command SADD myset member1 do?
easy
A. Adds 'member1' to the set 'myset' if it is not already present.
B. Removes 'member1' from the set 'myset'.
C. Returns all members of the set 'myset'.
D. Deletes the set 'myset' entirely.

Solution

  1. Step 1: Understand the SADD command

    SADD adds one or more unique members to a Redis set.
  2. Step 2: Apply to the example

    Using SADD with 'myset' and 'member1' adds 'member1' if not already in 'myset'.
  3. Final Answer:

    Adds 'member1' to the set 'myset' if it is not already present. -> Option A
  4. Quick Check:

    SADD adds unique members [OK]
Hint: SADD adds unique items; SREM removes them [OK]
Common Mistakes:
  • Confusing SADD with SREM
  • Thinking SADD deletes sets
  • Assuming SADD returns all members
2. Which of the following is the correct syntax to remove 'member2' from a Redis set named 'myset'?
easy
A. REMOVE myset member2
B. SADD myset member2
C. SREM myset member2
D. DEL myset member2

Solution

  1. Step 1: Identify the command to remove members

    SREM is the Redis command used to remove members from a set.
  2. Step 2: Check syntax correctness

    The correct syntax is SREM followed by the set name and the member to remove.
  3. Final Answer:

    SREM myset member2 -> Option C
  4. Quick Check:

    SREM removes members correctly [OK]
Hint: Use SREM to remove members, not DEL or REMOVE [OK]
Common Mistakes:
  • Using SADD instead of SREM to remove
  • Using DEL which deletes keys, not members
  • Using non-existent REMOVE command
3. Given the following Redis commands executed in order:
SADD fruits apple banana orange
SREM fruits banana
What will the command SMEMBERS fruits return?
medium
A. apple, orange
B. banana, orange
C. apple, banana, orange
D. apple, banana

Solution

  1. Step 1: Add members to the set 'fruits'

    SADD adds 'apple', 'banana', and 'orange' to the set 'fruits'.
  2. Step 2: Remove 'banana' from the set

    SREM removes 'banana' from 'fruits', leaving 'apple' and 'orange'.
  3. Step 3: Retrieve members with SMEMBERS

    SMEMBERS returns all current members: 'apple' and 'orange'.
  4. Final Answer:

    apple, orange -> Option A
  5. Quick Check:

    Removed banana, so only apple and orange remain [OK]
Hint: SREM removes members; SMEMBERS shows current set [OK]
Common Mistakes:
  • Assuming removed members still appear
  • Confusing SREM with DEL
  • Expecting order in SMEMBERS output
4. You run the command SREM myset memberX but get no error and the member still appears in SMEMBERS myset. What is the most likely reason?
medium
A. SREM command syntax is incorrect.
B. Redis server is down.
C. 'myset' is not a set but a string key.
D. 'memberX' was never in 'myset' to begin with.

Solution

  1. Step 1: Understand SREM behavior when member absent

    SREM does not error if the member is not in the set; it simply does nothing.
  2. Step 2: Check if member exists in the set

    If 'memberX' still appears in SMEMBERS output, it means it was never removed or was never absent.
  3. Step 3: Consider other options

    Syntax errors cause errors; wrong key type causes errors; server down causes no response.
  4. Final Answer:

    'memberX' was never in 'myset' to begin with. -> Option D
  5. Quick Check:

    SREM silently ignores missing members [OK]
Hint: SREM ignores missing members without error [OK]
Common Mistakes:
  • Expecting error if member not present
  • Confusing key type errors with SREM behavior
  • Assuming server down causes silent no-op
5. You want to maintain a Redis set 'online_users' that tracks currently logged-in users. Which sequence of commands correctly updates the set when user 'alice' logs in and then logs out?
hard
A. SREM online_users alice
SADD online_users alice
B. SADD online_users alice
SREM online_users alice
C. DEL online_users alice
SADD online_users alice
D. SADD online_users alice
DEL online_users alice

Solution

  1. Step 1: Add user on login

    Use SADD to add 'alice' to 'online_users' when she logs in.
  2. Step 2: Remove user on logout

    Use SREM to remove 'alice' from 'online_users' when she logs out.
  3. Step 3: Evaluate other options

    DEL deletes the entire set, which is not desired for single user updates.
  4. Final Answer:

    SADD online_users alice
    SREM online_users alice
    -> Option B
  5. Quick Check:

    Add with SADD, remove with SREM for membership [OK]
Hint: Add with SADD, remove with SREM; avoid DEL for single members [OK]
Common Mistakes:
  • Using DEL which deletes whole set
  • Removing before adding user
  • Confusing SADD and SREM order
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