📖 Scenario: You are managing a Redis database for a social app. You have two sets representing users who liked two different posts. You want to create a new set that stores all users who liked either post.
🎯 Goal: Build a Redis command sequence that creates two sets with exact user IDs, then use SUNIONSTORE to combine these sets into a new set storing all unique users who liked either post.
📋 What You'll Learn
Create a Redis set called post1_likes with members user1, user2, and user3
Create a Redis set called post2_likes with members user3, user4, and user5
Use SUNIONSTORE to store the union of post1_likes and post2_likes into a new set called all_likes
Verify the commands use the exact set names and members as specified
💡 Why This Matters
🌍 Real World
Social media apps often track user interactions like likes or follows using sets in Redis for fast membership checks and combining user groups.
💼 Career
Understanding Redis set operations like SUNIONSTORE is important for backend developers working with caching, real-time analytics, and user data aggregation.
Progress0 / 4 steps
1
Create the first set post1_likes
Use the Redis command SADD to create a set called post1_likes with members user1, user2, and user3.
Redis
Hint
Use SADD followed by the set name and the members separated by spaces.
2
Create the second set post2_likes
Use the Redis command SADD to create a set called post2_likes with members user3, user4, and user5.
Redis
Hint
Remember to use the exact set name post2_likes and members.
3
Use SUNIONSTORE to combine the sets
Use the Redis command SUNIONSTORE to create a new set called all_likes that stores the union of post1_likes and post2_likes.
Redis
Hint
SUNIONSTORE takes the destination set name first, then the source sets.
4
Verify the union set all_likes
Use the Redis command SMEMBERS to check the members of the set all_likes to confirm it contains all unique users from both sets.
Redis
Hint
SMEMBERS returns all members of a set.
Practice
(1/5)
1. What does the Redis command SUNIONSTORE destination key1 key2 do?
easy
A. It merges the sets stored at key1 and key2 and stores the result in destination.
B. It deletes the sets at key1 and key2 and creates a new set at destination.
C. It returns the union of sets at key1 and key2 without storing it.
D. It copies the set at key1 to destination without merging.
Solution
Step 1: Understand SUNIONSTORE purpose
The command merges multiple sets into one combined set.
Step 2: Identify storage behavior
The result is stored in the specified destination key, overwriting if it exists.
Final Answer:
It merges the sets stored at key1 and key2 and stores the result in destination. -> Option A
Quick Check:
SUNIONSTORE merges and stores = C [OK]
Hint: SUNIONSTORE merges sets and saves result in destination [OK]
Common Mistakes:
Confusing SUNIONSTORE with SUNION (which does not store)
Thinking it deletes original sets
Assuming it copies only one set
2. Which of the following is the correct syntax to store the union of sets setA and setB into resultSet using Redis?
easy
A. SUNIONSTORE setA setB resultSet
B. SUNIONSTORE resultSet setA setB
C. SUNION resultSet setA setB
D. SUNIONSTORE setA resultSet setB
Solution
Step 1: Recall SUNIONSTORE syntax
The correct syntax is SUNIONSTORE destination key1 key2 ....
Step 2: Match keys to syntax
Here, resultSet is destination, followed by sets setA and setB.
Final Answer:
SUNIONSTORE resultSet setA setB -> Option B
Quick Check:
Destination first, then sets = A [OK]
Hint: Destination key comes first in SUNIONSTORE command [OK]
Common Mistakes:
Placing destination key last
Using SUNION instead of SUNIONSTORE for storing
Mixing order of keys
3. You have three sets: setX = {1, 2, 3} setY = {3, 4, 5} setZ = {5, 6} You want to create a new set combined that contains the union of all three sets. Which command correctly does this and stores the result in combined?
easy
A. SUNIONSTORE combined setX setY setZ
B. SUNIONSTORE combined setX setY
C. SUNION combined setX setY setZ
D. SUNIONSTORE setX setY setZ combined
Solution
Step 1: Recall SUNIONSTORE usage for multiple sets
SUNIONSTORE can take multiple keys after the destination key.
Step 2: Verify correct order and keys
Destination is combined, followed by setX, setY, and setZ.
Final Answer:
SUNIONSTORE combined setX setY setZ -> Option A
Quick Check:
Destination first, then all sets = B [OK]
Hint: List all sets after destination in SUNIONSTORE [OK]
Common Mistakes:
Using SUNION instead of SUNIONSTORE to store
Placing destination key last
Omitting one or more sets
4. Given the following Redis sets: SADD set1 a b c SADD set2 b c d What will be the members of resultSet after executing SUNIONSTORE resultSet set1 set2?
medium
A. ["a", "d"]
B. ["a", "b", "c"]
C. ["a", "b", "c", "d"]
D. ["b", "c", "d"]
Solution
Step 1: Identify members of each set
set1 has {a, b, c}, set2 has {b, c, d}.
Step 2: Compute union of both sets
The union is {a, b, c, d} combining all unique members.
Final Answer:
["a", "b", "c", "d"] -> Option C
Quick Check:
Union of set1 and set2 = ["a", "b", "c", "d"] [OK]
Hint: Union combines all unique elements from both sets [OK]
Common Mistakes:
Forgetting to include all unique elements
Confusing union with intersection
Assuming order matters in sets
5. You run the command SUNIONSTORE result set1 set2 but get an error. What is the most likely cause?
medium
A. SUNIONSTORE does not accept more than two sets.
B. You forgot to specify the destination key.
C. The sets set1 and set2 do not exist.
D. The key result already exists as a string, not a set.
Solution
Step 1: Understand data type requirements
SUNIONSTORE requires the destination key to be a set or not exist.
Step 2: Identify error cause
If result exists as a string or other type, Redis throws a type error.
Final Answer:
The key result already exists as a string, not a set. -> Option D
Quick Check:
Destination key type mismatch causes error [OK]
Hint: Destination key must be a set or not exist [OK]
Common Mistakes:
Assuming missing keys cause errors (they don't)
Thinking SUNIONSTORE limits number of sets
Ignoring key data types
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.