Bird
Raised Fist0
Redisquery~5 mins

Set vs sorted set for membership in Redis - Quick Revision & Key Differences

Choose your learning style10 modes available
Recall & Review
beginner
What is a Redis Set?
A Redis Set is an unordered collection of unique strings. It allows fast membership checks and supports operations like adding, removing, and testing if an element exists.
Click to reveal answer
beginner
What is a Redis Sorted Set?
A Redis Sorted Set is a collection of unique strings ordered by a score (a floating point number). It supports fast membership checks and also keeps elements sorted by their scores.
Click to reveal answer
beginner
Which Redis data type should you use if you only need to check if an element exists quickly?
Use a Redis Set because it is optimized for fast membership checks without the overhead of ordering.
Click to reveal answer
intermediate
Why might you choose a Sorted Set over a Set in Redis?
Choose a Sorted Set if you need to keep elements in order by a score and still want to check membership. It combines ordering and membership features.
Click to reveal answer
beginner
Can Redis Sets and Sorted Sets contain duplicate elements?
No, both Redis Sets and Sorted Sets only store unique elements. Duplicates are not allowed.
Click to reveal answer
Which Redis data type is unordered but supports fast membership checks?
ASet
BSorted Set
CList
DHash
What extra feature does a Sorted Set have compared to a Set?
AAllows duplicate elements
BSupports nested collections
CStores key-value pairs
DKeeps elements sorted by score
If you only need to check if an element exists, which Redis type is best?
ASorted Set
BList
CSet
DString
Can Redis Sets contain duplicate elements?
AYes, duplicates are allowed
BNo, only unique elements
COnly if explicitly enabled
DDuplicates are stored but ignored
Which Redis data type would you use to keep a leaderboard with scores?
ASorted Set
BSet
CList
DHash
Explain the main differences between Redis Sets and Sorted Sets for membership checking.
Think about ordering and uniqueness.
You got /4 concepts.
    When would you choose a Redis Sorted Set over a Set for membership tasks?
    Consider use cases involving scores or rankings.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which Redis data structure is best for quickly checking if an item exists without caring about order?
      easy
      A. Set
      B. Sorted Set
      C. List
      D. Hash

      Solution

      1. Step 1: Understand the purpose of Sets

        Sets store unique items and allow fast membership checks without any order.
      2. Step 2: Compare with Sorted Sets

        Sorted Sets also store unique items but maintain order using scores, which is unnecessary if order doesn't matter.
      3. Final Answer:

        Set -> Option A
      4. Quick Check:

        Membership without order = Set [OK]
      Hint: Use Set for membership checks without order [OK]
      Common Mistakes:
      • Confusing Sorted Set with Set for membership
      • Thinking List is best for membership
      • Assuming Hash stores unique items like Set
      2. Which Redis command correctly adds a member to a Set named myset?
      easy
      A. SADD myset member1
      B. ZADD myset 1 member1
      C. LPUSH myset member1
      D. HSET myset member1 1

      Solution

      1. Step 1: Identify the command for adding to a Set

        The command SADD adds members to a Set in Redis.
      2. Step 2: Check other commands

        ZADD is for Sorted Sets, LPUSH is for Lists, and HSET is for Hashes.
      3. Final Answer:

        SADD myset member1 -> Option A
      4. Quick Check:

        SADD adds to Set [OK]
      Hint: Use SADD to add members to a Set [OK]
      Common Mistakes:
      • Using ZADD for Sets
      • Using LPUSH which is for Lists
      • Using HSET which is for Hashes
      3. Given the commands:
      SADD fruits apple banana orange
      ZADD scores 10 alice 20 bob 15 carol
      Which command checks if 'banana' is a member of the Set fruits?
      medium
      A. SISMEMBER scores banana
      B. ZSCORE fruits banana
      C. ZRANK fruits banana
      D. SISMEMBER fruits banana

      Solution

      1. Step 1: Identify the correct membership check for Sets

        SISMEMBER checks if an item is in a Set.
      2. Step 2: Match the key and member

        The Set is fruits, and we check for 'banana'. So SISMEMBER fruits banana is correct.
      3. Final Answer:

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

        Check membership in Set = SISMEMBER [OK]
      Hint: Use SISMEMBER for Set membership checks [OK]
      Common Mistakes:
      • Using ZSCORE or ZRANK on Sets
      • Checking membership on wrong key
      • Confusing Sorted Set commands with Set commands
      4. You want to check if 'alice' is in a Sorted Set scores. Which command is incorrect and will cause an error?
      medium
      A. ZRANK scores alice
      B. ZSCORE scores alice
      C. SISMEMBER scores alice
      D. ZREM scores alice

      Solution

      1. Step 1: Understand commands for Sorted Sets

        ZSCORE, ZRANK, and ZREM are valid Sorted Set commands.
      2. Step 2: Identify the invalid command

        SISMEMBER is only for Sets, not Sorted Sets, so it will cause an error.
      3. Final Answer:

        SISMEMBER scores alice -> Option C
      4. Quick Check:

        SISMEMBER invalid for Sorted Set [OK]
      Hint: SISMEMBER works only on Sets, not Sorted Sets [OK]
      Common Mistakes:
      • Using SISMEMBER on Sorted Sets
      • Confusing ZREM with SREM
      • Assuming SISMEMBER works on all collections
      5. You have a leaderboard stored as a Sorted Set leaderboard with player scores. You want to check if a player john exists in the leaderboard and get his rank. Which sequence of commands is correct?
      hard
      A. ZSCORE leaderboard john
      SISMEMBER leaderboard john
      B. ZSCORE leaderboard john
      ZRANK leaderboard john
      C. ZRANK leaderboard john
      SISMEMBER leaderboard john
      D. SISMEMBER leaderboard john
      ZRANK leaderboard john

      Solution

      1. Step 1: Check existence and score in Sorted Set

        ZSCORE returns the score if the member exists, otherwise null.
      2. Step 2: Get the rank if member exists

        ZRANK returns the rank of the member in the Sorted Set.
      3. Step 3: Validate command order

        First check score with ZSCORE, then get rank with ZRANK. Using SISMEMBER is invalid for Sorted Sets.
      4. Final Answer:

        ZSCORE leaderboard john
        ZRANK leaderboard john
        -> Option B
      5. Quick Check:

        Use ZSCORE then ZRANK for Sorted Set membership and rank [OK]
      Hint: Use ZSCORE then ZRANK for Sorted Set membership and rank [OK]
      Common Mistakes:
      • Using SISMEMBER on Sorted Sets
      • Checking rank before confirming existence
      • Mixing Set commands with Sorted Set commands
      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