Broadcasting Simple Messages
Practice publishing messages to channels and subscribing to receive them using the Redis CLI and client libraries.
Broadcasting Simple Messages is a free Redis Caching & Messaging (Pub/Sub, Streams) lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Redis Caching & Messaging (Pub/Sub, Streams) learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
What is Broadcasting?
In the world of Pub/Sub, broadcasting means sending a single message that can be received by many listeners at once.
Think of it like a radio station: the station broadcasts music, and anyone tuned to that frequency can hear it.
- One sender (publisher)
- Many receivers (subscribers)
- Decoupled communication
The Publisher's Role
A publisher is the entity that sends messages. It doesn't care who is listening or if anyone is listening at all.
Publishers simply send messages to a specific channel. Redis then takes care of delivering that message to all active subscribers of that channel.
CLI: Publishing Messages
You can easily publish messages using the Redis Command-Line Interface (CLI). The command is straightforward:
PUBLISH channel_name "Your message content"
Let's say you want to send a news update to a channel called newsfeed:
PUBLISH newsfeed "Breaking: Redis is awesome!"The Subscriber's Role
A subscriber is the entity that listens for messages. It 'tunes in' to one or more specific channels.
When a message is published to a channel a subscriber is listening to, Redis delivers that message to the subscriber.
CLI: Subscribing to Channels
To start listening for messages on a channel via the Redis CLI, you use the SUBSCRIBE command:
SUBSCRIBE channel_name
Once you execute this command, your CLI will enter a listening mode, waiting for messages.
SUBSCRIBE newsfeedDemo: CLI Publish & Subscribe
To see Pub/Sub in action with the CLI, you need two separate terminal windows:
- Window 1 (Subscriber): Run
redis-cli SUBSCRIBE chatroom - Window 2 (Publisher): Run
redis-cli PUBLISH chatroom "Hello everyone!"
You'll see the message appear instantly in Window 1!
# Window 1 (Subscriber)
redis-cli SUBSCRIBE chatroom
# Window 2 (Publisher)
redis-cli PUBLISH chatroom "Hello everyone!"Beyond CLI: Client Libraries
While the CLI is great for testing, real applications use client libraries. These libraries provide APIs in your preferred programming language (like Python, Java, Node.js) to interact with Redis.
Using client libraries makes it easy to integrate Redis Pub/Sub into your application logic.
Python Client: Publishing
Here's how to publish a message using the popular redis-py client library in Python. This script will connect to Redis and send a message to a channel.
import redis
r = redis.Redis(decode_responses=True)
channel_name = "app_updates"
message_content = "New feature released! Check it out."
r.publish(channel_name, message_content)
print(f"Published '{message_content}' to '{channel_name}'")Python Client: Subscribing
This Python script demonstrates how to subscribe to a channel and receive a single message. It then exits, making it suitable for a quick runnable example.
In a real application, the for message in pubsub.listen(): loop would typically run continuously.
import redis
r = redis.Redis(decode_responses=True)
pubsub = r.pubsub()
channel_name = "app_updates"
pubsub.subscribe(channel_name)
print(f"Listening on '{channel_name}' for one message...")
for message in pubsub.listen():
if message['type'] == 'message':
print(f"Received: {message['data']}")
break # Exit after first message
print("Subscriber finished.")Quick Check: Pub/Sub Actions
You've learned about the fundamental commands for Redis Pub/Sub. Let's see if you can identify the correct action.
Recap: Broadcasting Messages
In this lesson, we explored how to broadcast messages using Redis Pub/Sub:
- Publishers send messages to channels without knowing the subscribers.
- Subscribers listen to specific channels to receive messages.
- We used the Redis CLI with
PUBLISHandSUBSCRIBE. - We also saw how to implement simple publishers and subscribers using Python client libraries.
Next, we'll dive deeper into building more complex real-time applications!
Frequently asked questions
Is the “Broadcasting Simple Messages” lesson free?
Yes — the full text of “Broadcasting Simple Messages” is free to read here on the web, and the Redis Caching & Messaging (Pub/Sub, Streams) course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Redis Caching & Messaging (Pub/Sub, Streams) course, upgrade to CoddyKit PRO.
What will I learn in “Broadcasting Simple Messages”?
Practice publishing messages to channels and subscribing to receive them using the Redis CLI and client libraries. You practise Redis Caching & Messaging (Pub/Sub, Streams) with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Redis Caching & Messaging (Pub/Sub, Streams)?
No prior experience is required. Redis Caching & Messaging (Pub/Sub, Streams) on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Broadcasting Simple Messages” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Redis Caching & Messaging (Pub/Sub, Streams) lesson?
Yes. Every Redis Caching & Messaging (Pub/Sub, Streams) lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Introduction to Pub/Sub
- Redis Pub/Sub Mechanics
- Broadcasting Simple Messages
- Channels vs Keyspace Notifications