Bird
Raised Fist0
Redisquery~5 mins

PSUBSCRIBE for pattern matching in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the Redis command PSUBSCRIBE do?

PSUBSCRIBE lets you listen to messages on channels that match a pattern. Instead of subscribing to one channel, you subscribe to many channels that fit the pattern.

Click to reveal answer
beginner
How does pattern matching work in PSUBSCRIBE?

Patterns can include * as a wildcard to match any characters. For example, news.* matches all channels starting with news..

Click to reveal answer
beginner
What is the difference between SUBSCRIBE and PSUBSCRIBE?

SUBSCRIBE listens to exact channel names. PSUBSCRIBE listens to channels matching a pattern, allowing multiple channels with one command.

Click to reveal answer
beginner
Can you receive messages from multiple channels using one PSUBSCRIBE command?

Yes! PSUBSCRIBE lets you listen to many channels at once if their names match the pattern you provide.

Click to reveal answer
intermediate
What kind of message does Redis send when you use PSUBSCRIBE?

Redis sends a message confirming the subscription and then sends messages from any channel matching the pattern as they arrive.

Click to reveal answer
What symbol is used as a wildcard in Redis PSUBSCRIBE patterns?
A%
B*
C#
D?
Which command subscribes to channels matching a pattern?
APSUBSCRIBE
BSUBSCRIBE
CPUBLISH
DUNSUBSCRIBE
If you want to listen to all channels starting with 'chat.', which command would you use?
APSUBSCRIBE chat
BSUBSCRIBE chat.*
CSUBSCRIBE chat
DPSUBSCRIBE chat.*
What happens if a message is published to a channel matching your PSUBSCRIBE pattern?
ARedis unsubscribes you
BThe message is ignored
CYou receive the message
DYou get an error
Can PSUBSCRIBE listen to multiple patterns at once?
AYes, by listing multiple patterns
BNo, only one pattern at a time
COnly if patterns are separated by commas
DOnly with a special flag
Explain how PSUBSCRIBE works in Redis and how it differs from SUBSCRIBE.
Think about subscribing to many channels with one pattern.
You got /4 concepts.
    Describe a real-life example where using PSUBSCRIBE would be helpful.
    Imagine you want to get updates from all chat rooms starting with 'room1.'
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the Redis command PSUBSCRIBE do?
      easy
      A. It subscribes to channels matching a pattern with wildcards.
      B. It unsubscribes from all channels.
      C. It publishes messages to a channel.
      D. It deletes keys matching a pattern.

      Solution

      1. Step 1: Understand the purpose of PSUBSCRIBE

        PSUBSCRIBE listens to messages from channels that match a given pattern, using wildcards like '*'.
      2. Step 2: Compare with other commands

        Unlike PUBLISH or UNSUBSCRIBE, PSUBSCRIBE focuses on pattern-based subscription.
      3. Final Answer:

        It subscribes to channels matching a pattern with wildcards. -> Option A
      4. Quick Check:

        PSUBSCRIBE = pattern subscription [OK]
      Hint: PSUBSCRIBE listens to patterns, not single channels [OK]
      Common Mistakes:
      • Confusing PSUBSCRIBE with PUBLISH
      • Thinking PSUBSCRIBE deletes keys
      • Mixing PSUBSCRIBE with UNSUBSCRIBE
      2. Which of the following is the correct syntax to subscribe to all channels starting with 'news.' using PSUBSCRIBE?
      easy
      A. PSUBSCRIBE news?
      B. PSUBSCRIBE news.*
      C. PSUBSCRIBE news#
      D. PSUBSCRIBE news+

      Solution

      1. Step 1: Identify the wildcard for pattern matching

        In Redis PSUBSCRIBE, '*' matches any sequence of characters.
      2. Step 2: Match the pattern for channels starting with 'news.'

        The pattern 'news.*' matches all channels beginning with 'news.' followed by anything.
      3. Final Answer:

        PSUBSCRIBE news.* -> Option B
      4. Quick Check:

        '*' wildcard = correct syntax [OK]
      Hint: Use '*' to match any characters in PSUBSCRIBE patterns [OK]
      Common Mistakes:
      • Using '?' which matches exactly one character
      • Using '#' or '+' which are not Redis wildcards
      • Missing the dot after 'news'
      3. Given the following Redis commands executed in order:
      PSUBSCRIBE sports.*
      PUBLISH sports.football "Goal!"
      PUBLISH sports.basketball "Score!"
      PUBLISH news.weather "Rain"

      Which messages will the subscriber receive?
      medium
      A. "Goal!" and "Score!"
      B. "Goal!" only
      C. "Rain" only
      D. All three messages

      Solution

      1. Step 1: Understand the subscription pattern

        The subscriber listens to channels matching 'sports.*', meaning any channel starting with 'sports.'.
      2. Step 2: Check published messages against the pattern

        Messages on 'sports.football' and 'sports.basketball' match the pattern; 'news.weather' does not.
      3. Final Answer:

        "Goal!" and "Score!" -> Option A
      4. Quick Check:

        Pattern matches sports.* channels only [OK]
      Hint: Only messages on matching channels are received [OK]
      Common Mistakes:
      • Assuming all published messages are received
      • Confusing exact channel with pattern
      • Ignoring the pattern prefix
      4. You run the command PSUBSCRIBE sports.* but receive no messages when publishing to sports.football. What is the most likely mistake?
      medium
      A. You published messages before subscribing.
      B. You used SUBSCRIBE instead of PSUBSCRIBE.
      C. You subscribed to sports.* but published to sportsfootball without a dot.
      D. You used the wrong Redis server version.

      Solution

      1. Step 1: Check the channel names for exact pattern match

        The pattern 'sports.*' matches channels starting with 'sports.' including the dot.
      2. Step 2: Identify mismatch in published channel

        Publishing to 'sportsfootball' (no dot) does not match 'sports.*' pattern.
      3. Final Answer:

        You subscribed to sports.* but published to sportsfootball without a dot. -> Option C
      4. Quick Check:

        Pattern requires exact prefix including dot [OK]
      Hint: Check exact channel names match pattern including dots [OK]
      Common Mistakes:
      • Confusing SUBSCRIBE with PSUBSCRIBE
      • Ignoring dot in channel names
      • Assuming order of commands affects delivery
      5. You want to listen to all channels that contain the word 'chat' anywhere in their name using PSUBSCRIBE. Which pattern should you use?
      hard
      A. chat
      B. chat*
      C. *chat
      D. *chat*

      Solution

      1. Step 1: Understand the wildcard '*' usage

        '*' matches any sequence of characters, including none.
      2. Step 2: Create pattern to match 'chat' anywhere

        Using '*chat*' matches any channel with 'chat' anywhere in its name.
      3. Final Answer:

        *chat* -> Option D
      4. Quick Check:

        Use '*' before and after 'chat' to match anywhere [OK]
      Hint: Use '*' before and after word to match anywhere [OK]
      Common Mistakes:
      • Using 'chat' alone matches exact channel only
      • Using 'chat*' matches only channels starting with 'chat'
      • Using '*chat' matches only channels ending with 'chat'
      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