Bird
Raised Fist0
Redisquery~5 mins

PUBLISH to channels in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: PUBLISH to channels
O(n)
Understanding Time Complexity

When sending messages to channels in Redis, it's important to understand how the time taken grows as more clients listen.

We want to know how the cost changes when publishing to many subscribers.

Scenario Under Consideration

Analyze the time complexity of the following Redis PUBLISH command.


PUBLISH channel_name "Hello subscribers!"
    

This command sends a message to all clients subscribed to the given channel.

Identify Repeating Operations

Look for repeated actions inside the publish process.

  • Primary operation: Sending the message to each subscribed client.
  • How many times: Once for each subscriber connected to the channel.
How Execution Grows With Input

The time to publish grows as the number of subscribers grows.

Input Size (subscribers)Approx. Operations
1010 message sends
100100 message sends
10001000 message sends

Pattern observation: The work increases directly with the number of subscribers.

Final Time Complexity

Time Complexity: O(n)

This means the time to publish grows linearly with the number of subscribers.

Common Mistake

[X] Wrong: "Publishing a message takes the same time no matter how many subscribers there are."

[OK] Correct: Each subscriber must receive the message, so more subscribers mean more work and longer time.

Interview Connect

Understanding how message delivery scales helps you explain system behavior and design efficient real-time features.

Self-Check

What if Redis used batching to send messages to subscribers? How would that affect the time complexity?

Practice

(1/5)
1.

What does the PUBLISH command do in Redis?

easy
A. Stores a message permanently in the database
B. Sends a message to all clients subscribed to a specific channel
C. Deletes all messages from a channel
D. Creates a new channel for clients to subscribe

Solution

  1. Step 1: Understand the purpose of PUBLISH

    The PUBLISH command sends messages to clients currently subscribed to a channel.
  2. Step 2: Differentiate from storage commands

    PUBLISH does not store messages permanently; it only broadcasts to active subscribers.
  3. Final Answer:

    Sends a message to all clients subscribed to a specific channel -> Option B
  4. Quick Check:

    PUBLISH broadcasts messages [OK]
Hint: PUBLISH sends messages only to active subscribers [OK]
Common Mistakes:
  • Thinking PUBLISH stores messages permanently
  • Confusing PUBLISH with channel creation
  • Assuming PUBLISH deletes messages
2.

Which of the following is the correct syntax to publish a message 'Hello World' to a channel named news in Redis?

?
easy
A. PUBLISH news 'Hello World'
B. PUBLISH 'Hello World' news
C. PUBLISH news Hello World
D. PUBLISH news, 'Hello World'

Solution

  1. Step 1: Recall Redis PUBLISH syntax

    The syntax is: PUBLISH channel message. Quote the message if it contains spaces.
  2. Step 2: Identify correct option

    PUBLISH news 'Hello World' matches the syntax exactly.
  3. Final Answer:

    PUBLISH news 'Hello World' -> Option A
  4. Quick Check:

    Correct Redis PUBLISH syntax = PUBLISH news 'Hello World' [OK]
Hint: Quote messages with spaces: PUBLISH channel 'msg with spaces' [OK]
Common Mistakes:
  • Not quoting messages with spaces
  • Swapping channel and message order
  • Using commas or extra symbols
3.

Given the following Redis commands executed in order:

SUBSCRIBE sports
PUBLISH sports "Game tonight"
PUBLISH news "Weather update"

What messages will the subscriber receive?

medium
A. Only "Game tonight"
B. Both "Game tonight" and "Weather update"
C. Only "Weather update"
D. No messages

Solution

  1. Step 1: Identify subscribed channel

    The subscriber is subscribed to the 'sports' channel only.
  2. Step 2: Check published messages

    Messages published to 'sports' are received; messages to 'news' are ignored by this subscriber.
  3. Final Answer:

    Only "Game tonight" -> Option A
  4. Quick Check:

    Subscribers get messages only from their channels [OK]
Hint: Subscribers get messages only from their subscribed channels [OK]
Common Mistakes:
  • Assuming subscriber gets all published messages
  • Confusing channel names
  • Ignoring subscription context
4.

What is wrong with this Redis command to publish a message?

PUBLISH

Choose the best explanation.

medium
A. PUBLISH cannot be used without SUBSCRIBE
B. Channel name is invalid
C. Message is too long
D. Missing channel and message arguments

Solution

  1. Step 1: Check required arguments for PUBLISH

    PUBLISH requires two arguments: channel and message.
  2. Step 2: Identify missing parts in the command

    The command only has PUBLISH with no arguments, so it is incomplete.
  3. Final Answer:

    Missing channel and message arguments -> Option D
  4. Quick Check:

    PUBLISH needs channel and message [OK]
Hint: PUBLISH needs channel and message arguments [OK]
Common Mistakes:
  • Thinking PUBLISH works without arguments
  • Assuming message length causes error here
  • Believing SUBSCRIBE is required before PUBLISH
5.

You want to send a notification to multiple channels news and alerts at once. Which Redis approach is best?

hard
A. Create a new channel combining both names and publish once
B. Publish to one channel and expect all subscribers to receive it
C. Use multiple PUBLISH commands, one per channel
D. Use a Redis command to publish to multiple channels simultaneously

Solution

  1. Step 1: Understand Redis PUBLISH limitations

    Redis PUBLISH sends messages to one channel at a time; no built-in multi-channel publish exists.
  2. Step 2: Choose correct method to notify multiple channels

    Send separate PUBLISH commands for each channel to reach all subscribers.
  3. Final Answer:

    Use multiple PUBLISH commands, one per channel -> Option C
  4. Quick Check:

    Multiple channels need multiple PUBLISH calls [OK]
Hint: Publish separately to each channel for multiple notifications [OK]
Common Mistakes:
  • Expecting one PUBLISH to reach multiple channels
  • Combining channel names incorrectly
  • Assuming Redis supports multi-channel publish natively
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