Bird
Raised Fist0
Redisquery~15 mins

SADD and SREM for membership in Redis - Mini Project: Build & Apply

Choose your learning style10 modes available
Manage a Redis Set with SADD and SREM
📖 Scenario: You are managing a Redis database for a small online bookstore. You want to keep track of the unique genres of books currently available in the store using a Redis set.
🎯 Goal: Build a Redis set called book_genres that stores genres using SADD to add genres and SREM to remove genres when they are no longer available.
📋 What You'll Learn
Create a Redis set named book_genres with initial genres.
Add a configuration variable for a genre to remove.
Use SADD commands to add genres to the set.
Use SREM command to remove a specific genre from the set.
💡 Why This Matters
🌍 Real World
Managing unique collections like book genres, user tags, or product categories efficiently in Redis.
💼 Career
Understanding Redis set commands like SADD and SREM is essential for backend developers working with caching, session management, or real-time data.
Progress0 / 4 steps
1
Create the initial Redis set with genres
Use the SADD command to create a Redis set called book_genres and add these exact genres: "Fiction", "Science", "History".
Redis
Hint

Remember, SADD adds one or more members to a set. Use the exact set name book_genres and genres.

2
Set the genre to remove
Create a Redis key called genre_to_remove and set it to the string "Science".
Redis
Hint

Use the SET command to create a key genre_to_remove with the value Science.

3
Add more genres to the set
Use the SADD command to add these genres to the book_genres set: "Biography" and "Fantasy".
Redis
Hint

Use SADD again with the same set name and the new genres.

4
Remove the genre from the set
Use the SREM command to remove Science from the book_genres set.
Redis
Hint

Use SREM with the set name and the genre value to remove it from the set.

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