Redis Caching & Messaging (Pub/Sub, Streams) · درس

آليات Pub/Sub في Redis

تعلّموا كيفية تطبيق Redis لنموذج Pub/Sub، بما في ذلك القنوات والناشرون والمشتركون.

الدرس 2 من 411 خطوة

آليات Pub/Sub في Redis درس مجاني في Redis Caching & Messaging (Pub/Sub, Streams) على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Redis Caching & Messaging (Pub/Sub, Streams)، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Redis Caching & Messaging (Pub/Sub, Streams) 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Unpacking Redis Pub/Sub

Welcome back! In the previous lesson, we learned what Redis Pub/Sub is. Now, let's dive into the mechanics of how it actually works inside Redis.

We'll explore the main components: channels, publishers, and subscribers. Understanding these roles is key to building real-time features.

Channels: The Message Highways

At the heart of Redis Pub/Sub are channels. Think of a channel as a named topic or a broadcast radio station.

  • Named Conduits: Channels are simply names (strings) that messages are sent to and received from.
  • No Storage: Redis channels themselves do not store messages. They are purely for real-time message routing.
  • Dynamic Creation: Channels are created implicitly when the first client publishes to or subscribes to them.

Publishers: Sending Messages

A publisher is any client that sends a message to a specific channel. Publishers don't need to know who (if anyone) is listening.

  • Fire and Forget: Publishers send a message and immediately move on. They don't wait for acknowledgements.
  • Decoupled: Publishers are completely decoupled from subscribers. They just need the channel name and the message content.

This decoupling is a major benefit for scalable, real-time applications.

Subscribers: Receiving Messages

A subscriber is a client that expresses interest in receiving messages from one or more specific channels.

  • Active Listening: Subscribers actively listen to channels. When a message is published to a subscribed channel, Redis pushes it to the subscriber.
  • Client-Side Logic: Subscribers usually have application logic to process the incoming messages.

Subscribers must be connected to Redis to receive messages. If a subscriber disconnects, it misses any messages published during its offline period.

The Message Flow

Let's visualize the simple flow:

  1. A publisher sends a message to a named channel.
  2. Redis receives the message and identifies the channel.
  3. Redis then broadcasts this message to all currently connected subscribers of that specific channel.
  4. Subscribers receive the message in real-time.

It's like a radio station (channel) broadcasting to many listeners (subscribers) at once.

Publishing via CLI

To publish a message, we use the PUBLISH command. It takes two arguments: the channel name and the message content.

Try running this command in your Redis CLI. It will return the number of clients that received the message.

redis-cli PUBLISH notifications "New user signed up!"

Subscribing via CLI

To subscribe to a channel, we use the SUBSCRIBE command. It takes one or more channel names.

When you run this, your CLI will enter a blocking mode, waiting for messages on the notifications channel. You won't see a prompt until you stop it (e.g., Ctrl+C).

redis-cli SUBSCRIBE notifications

Pub/Sub's Key Characteristics

Understanding these characteristics is crucial for choosing the right Redis feature:

  • Real-time: Messages are delivered instantly to active subscribers.
  • Fire-and-Forget: Publishers don't know or care if messages are received.
  • No Persistence: If no one is subscribed, the message is lost. Redis Pub/Sub does not store messages for later retrieval.
  • Message Ordering: Messages published to a channel are delivered to subscribers in the order they were published.

Pub/Sub vs. Redis Streams

You might wonder how Pub/Sub differs from other messaging patterns. The key difference is persistence.

  • Pub/Sub: Ideal for real-time notifications where losing messages for offline subscribers is acceptable (e.g., chat rooms, live updates).
  • Redis Streams: Provides message persistence, consumer groups, and replayability. Better for reliable queues, event sourcing, or when messages must not be lost.

We'll cover Streams in a later course!

Quick Check

Which of the following statements accurately describes a Redis Pub/Sub channel?

Recap: Pub/Sub Mechanics

In this lesson, we've broken down the core mechanics of Redis Pub/Sub:

  • Channels are the named pathways for messages.
  • Publishers send messages to channels in a fire-and-forget manner.
  • Subscribers listen to channels and receive messages in real-time.
  • Redis Pub/Sub is not persistent; messages are lost if no subscriber is active.

Next, we'll put this into practice by broadcasting simple messages using client libraries!

البدء مجانًا

تعلم Redis Caching & Messaging (Pub/Sub, Streams) مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
12
الدروس
48

الأسئلة الشائعة

هل درس «آليات Pub/Sub في Redis» مجاني؟

نعم — نص درس «آليات Pub/Sub في Redis» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Redis Caching & Messaging (Pub/Sub, Streams)، انتقل إلى CoddyKit PRO. تتضمن دورة Redis Caching & Messaging (Pub/Sub, Streams) 4 دروس في المجموع.

ماذا ستتعلم في «آليات Pub/Sub في Redis»؟

تعلّموا كيفية تطبيق Redis لنموذج Pub/Sub، بما في ذلك القنوات والناشرون والمشتركون. تتمرن على Redis Caching & Messaging (Pub/Sub, Streams) مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Redis Caching & Messaging (Pub/Sub, Streams)؟

لا تُشترط خبرة سابقة. Redis Caching & Messaging (Pub/Sub, Streams) على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «آليات Pub/Sub في Redis»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Redis Caching & Messaging (Pub/Sub, Streams) هذا؟

نعم. كل درس في Redis Caching & Messaging (Pub/Sub, Streams) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مقدمة إلى Pub/Sub
  2. آليات Pub/Sub في Redis
  3. بث الرسائل البسيطة
  4. القنوات مقابل إشعارات مساحة المفاتيح
← العودة إلى Redis Caching & Messaging (Pub/Sub, Streams)