0
0
Redisquery~10 mins

Pub/sub limitations (no persistence) in Redis - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Pub/sub limitations (no persistence)
Publisher sends message
Redis receives message
Redis broadcasts to all subscribers currently connected
Subscribers receive message
If subscriber is offline, message is lost
No message stored for later retrieval
Messages published are sent only to subscribers connected at that moment; no messages are saved for offline clients.
Execution Sample
Redis
PUBLISH news "Hello subscribers!"
-- Subscribers connected receive the message
-- Subscribers offline do not receive it
Shows that published messages reach only currently connected subscribers, no persistence.
Execution Table
StepActionPublisher StateRedis StateSubscribers ConnectedMessage Delivered
1Publisher sends message 'Hello subscribers!'Message readyNo message storedSub1, Sub2 connectedNo
2Redis broadcasts message to connected subscribersMessage sentNo message storedSub1, Sub2 connectedSub1: Yes, Sub2: Yes
3Subscriber Sub3 connects after message sentNo new messageNo message storedSub1, Sub2, Sub3 connectedSub3: No (missed message)
4Publisher sends new message 'Update!'Message readyNo message storedSub1, Sub2, Sub3 connectedSub1: Yes, Sub2: Yes, Sub3: Yes
5Subscriber Sub2 disconnectsNo new messageNo message storedSub1, Sub3 connectedNo new message delivered
6Publisher sends message 'Final news'Message readyNo message storedSub1, Sub3 connectedSub1: Yes, Sub3: Yes
7Subscriber Sub2 reconnects after message sentNo new messageNo message storedSub1, Sub2, Sub3 connectedSub2: No (missed 'Final news')
💡 Execution ends because Redis pub/sub does not store messages; offline subscribers miss messages sent while disconnected.
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4After Step 5After Step 6After Step 7
Publisher MessageNone'Hello subscribers!'None'Update!'None'Final news'None
Redis Stored MessagesNoneNoneNoneNoneNoneNoneNone
Subscribers ConnectedSub1, Sub2Sub1, Sub2Sub1, Sub2, Sub3Sub1, Sub2, Sub3Sub1, Sub3Sub1, Sub3Sub1, Sub2, Sub3
Message Delivered to Sub2NoYesNo (missed message)YesNoNoNo (missed 'Final news')
Key Moments - 3 Insights
Why does subscriber Sub3 not receive the first message?
Because Sub3 connected after the message was published (see execution_table step 3), Redis pub/sub does not store messages for later delivery.
Does Redis store messages for offline subscribers to receive later?
No, Redis pub/sub sends messages only to currently connected subscribers and does not persist messages (execution_table shows Redis Stored Messages always None).
What happens when a subscriber disconnects and misses messages?
They do not receive any messages sent while disconnected, as shown by Sub2 missing the 'Final news' message after reconnecting (step 7).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3. Why does Sub3 not receive the message?
ABecause Sub3 was not connected when the message was published
BBecause Redis lost the message
CBecause Sub3 unsubscribed
DBecause the message was corrupted
💡 Hint
Check Subscribers Connected and Message Delivered columns at step 3 in execution_table
At which step does Sub2 miss a message due to being disconnected?
AStep 2
BStep 5
CStep 7
DStep 4
💡 Hint
Look at Subscribers Connected and Message Delivered to Sub2 in execution_table rows for steps 5-7
If Redis had message persistence, what would change in the execution_table?
ARedis Stored Messages would show stored messages and offline subscribers would receive missed messages
BSubscribers would disconnect more often
CPublisher would stop sending messages
DSubscribers would receive duplicate messages always
💡 Hint
Compare Redis Stored Messages and Message Delivered columns in execution_table
Concept Snapshot
Redis Pub/Sub sends messages only to subscribers connected at publish time.
No messages are saved for offline subscribers.
Subscribers connecting later miss past messages.
No message persistence means no delivery guarantees.
Useful for real-time but not for guaranteed delivery.
Full Transcript
In Redis Pub/Sub, when a publisher sends a message, Redis immediately broadcasts it to all subscribers currently connected. If a subscriber is offline or connects after the message is sent, it will not receive that message because Redis does not store messages for later delivery. This means messages are transient and only delivered in real-time to active subscribers. The execution table shows steps where subscribers connect or disconnect and whether they receive messages. Key moments highlight that offline subscribers miss messages and Redis does not persist messages. The quiz tests understanding of these points. This behavior is important to know when using Redis Pub/Sub for real-time messaging without persistence.