Bird
Raised Fist0
Redisquery~5 mins

Pub/sub limitations (no persistence) in Redis - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a key limitation of Redis Pub/Sub regarding message delivery?
Redis Pub/Sub does not store messages. If a subscriber is offline when a message is published, it will miss that message.
Click to reveal answer
beginner
Why can't Redis Pub/Sub guarantee message delivery to all subscribers?
Because Redis Pub/Sub sends messages only to currently connected subscribers and does not save messages for later delivery.
Click to reveal answer
intermediate
How does Redis Pub/Sub handle message persistence?
Redis Pub/Sub does not support message persistence; messages are transient and lost if no subscriber is listening at publish time.
Click to reveal answer
intermediate
What happens if a subscriber disconnects and then reconnects in Redis Pub/Sub?
The subscriber will not receive any messages published while it was disconnected because Redis Pub/Sub does not store messages.
Click to reveal answer
advanced
Name one alternative to Redis Pub/Sub if message persistence is required.
Redis Streams or message brokers like RabbitMQ or Kafka, which support message persistence and replay.
Click to reveal answer
What happens to messages in Redis Pub/Sub if no subscriber is connected at publish time?
AMessages are stored and delivered later
BMessages are lost immediately
CMessages are queued until a subscriber connects
DMessages are saved to disk
Which feature is NOT supported by Redis Pub/Sub?
AReal-time message delivery
BMessage persistence
CMultiple subscribers
DTopic-based messaging
If a subscriber disconnects, what happens to messages published during that time in Redis Pub/Sub?
AThey are delivered when the subscriber reconnects
BThey are stored in a queue
CThey are lost
DThey are sent to other subscribers only
Which Redis feature can be used if you need message persistence instead of Pub/Sub?
ARedis Lists
BRedis Streams
CRedis Sets
DRedis Hashes
Why might Redis Pub/Sub be unsuitable for critical message delivery?
AIt is too slow
BIt requires complex setup
CIt does not guarantee message delivery
DIt only supports one subscriber
Explain the main limitation of Redis Pub/Sub related to message persistence and delivery.
Think about what happens if a subscriber is offline.
You got /3 concepts.
    Describe alternatives to Redis Pub/Sub when message persistence is needed and why.
    Consider systems designed for guaranteed delivery.
    You got /3 concepts.

      Practice

      (1/5)
      1. What happens to messages sent via Redis Pub/sub if no clients are subscribed at that moment?
      easy
      A. Messages are lost and not stored anywhere.
      B. Messages are saved and delivered later when clients subscribe.
      C. Messages are queued until a client connects.
      D. Messages are stored in a Redis list automatically.

      Solution

      1. Step 1: Understand Redis Pub/sub behavior

        Redis Pub/sub delivers messages only to clients currently subscribed.
      2. Step 2: Analyze message persistence

        Since Pub/sub does not save messages, if no client listens, messages are lost.
      3. Final Answer:

        Messages are lost and not stored anywhere. -> Option A
      4. Quick Check:

        Pub/sub = no persistence [OK]
      Hint: Pub/sub delivers live only, no message storage [OK]
      Common Mistakes:
      • Assuming messages queue up for later delivery
      • Thinking messages are saved automatically
      • Confusing Pub/sub with Redis streams
      2. Which of the following is the correct Redis command to subscribe to a channel named news?
      easy
      A. SUBSCRIBE TO news
      B. PUBLISH news
      C. SUBSCRIBE news
      D. LISTEN news

      Solution

      1. Step 1: Recall Redis Pub/sub subscribe syntax

        The correct command to subscribe is SUBSCRIBE <channel>.
      2. Step 2: Match command to channel name

        Using SUBSCRIBE news subscribes to the channel named 'news'.
      3. Final Answer:

        SUBSCRIBE news -> Option C
      4. Quick Check:

        Subscribe syntax = SUBSCRIBE channel [OK]
      Hint: Subscribe uses 'SUBSCRIBE channel' command [OK]
      Common Mistakes:
      • Using PUBLISH instead of SUBSCRIBE
      • Adding extra words like TO
      • Using LISTEN which is not a Redis command
      3. Consider this Redis Pub/sub scenario:
      Client A subscribes to channel 'chat'.
      Client B publishes message 'Hello' to 'chat'.
      Client C subscribes to 'chat' after the message is published.

      Which clients receive the message 'Hello'?
      medium
      A. Only Client A
      B. Clients A and C
      C. Only Client C
      D. Clients A, B, and C

      Solution

      1. Step 1: Identify subscribers at publish time

        Only Client A was subscribed when Client B published the message.
      2. Step 2: Understand Pub/sub delivery

        Messages are sent only to clients subscribed at publish time; Client C subscribed later and misses the message.
      3. Final Answer:

        Only Client A -> Option A
      4. Quick Check:

        Subscribers at publish = receivers [OK]
      Hint: Only current subscribers get messages [OK]
      Common Mistakes:
      • Assuming late subscribers get past messages
      • Including publisher as receiver
      • Thinking all clients get all messages
      4. You wrote this Redis Pub/sub code snippet:
      SUBSCRIBE news
      PUBLISH news "Update 1"

      But your subscriber never receives the message. What is the likely problem?
      medium
      A. The PUBLISH command syntax is incorrect.
      B. The subscriber must be subscribed before the message is published.
      C. Redis does not support Pub/sub messaging.
      D. The channel name 'news' is reserved and cannot be used.

      Solution

      1. Step 1: Check Pub/sub message delivery timing

        Subscribers must be listening before messages are published to receive them.
      2. Step 2: Analyze the code order

        If PUBLISH runs before SUBSCRIBE completes, subscriber misses the message.
      3. Final Answer:

        The subscriber must be subscribed before the message is published. -> Option B
      4. Quick Check:

        Subscribe first, then publish [OK]
      Hint: Subscribe before publish to receive messages [OK]
      Common Mistakes:
      • Thinking PUBLISH syntax is wrong
      • Believing Redis lacks Pub/sub support
      • Assuming channel names are restricted
      5. You want to ensure messages are not lost if no clients are currently subscribed. Which Redis feature should you use instead of Pub/sub?
      hard
      A. Use Redis transactions to save messages.
      B. Use Pub/sub with multiple channels.
      C. Increase Redis memory to save messages.
      D. Redis Streams to store and consume messages later.

      Solution

      1. Step 1: Understand Pub/sub limitation

        Pub/sub does not store messages; they are lost if no subscriber is present.
      2. Step 2: Identify Redis feature for persistence

        Redis Streams allow storing messages so clients can read them later.
      3. Step 3: Evaluate other options

        Using multiple channels or transactions does not provide message persistence; increasing memory does not save messages automatically.
      4. Final Answer:

        Redis Streams to store and consume messages later. -> Option D
      5. Quick Check:

        Use Streams for persistence, not Pub/sub [OK]
      Hint: Use Redis Streams for message persistence [OK]
      Common Mistakes:
      • Trying to fix Pub/sub by adding channels
      • Thinking transactions save Pub/sub messages
      • Assuming more memory stores messages
      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