Bird
Raised Fist0
Redisquery~5 mins

UNSUBSCRIBE behavior in Redis

Choose your learning style10 modes available
Introduction

UNSUBSCRIBE lets you stop listening to messages from one or more channels in Redis. It helps you control which messages you get.

When you no longer want to receive updates from a chat room channel.
When your app needs to stop tracking a topic to save resources.
When a user leaves a live event and you want to stop sending them event messages.
When you want to switch from one channel to another without closing the connection.
Syntax
Redis
UNSUBSCRIBE [channel-1 channel-2 ...]
If no channels are specified, UNSUBSCRIBE unsubscribes from all channels.
UNSUBSCRIBE sends a confirmation message for each channel unsubscribed.
Examples
Stops listening to the 'sports' channel only.
Redis
UNSUBSCRIBE sports
Stops listening to both 'news' and 'weather' channels.
Redis
UNSUBSCRIBE news weather
Stops listening to all subscribed channels.
Redis
UNSUBSCRIBE
Sample Program

This subscribes to 'news' and 'sports' channels, then unsubscribes from 'sports'. You will still receive messages from 'news'.

Redis
SUBSCRIBE news sports
UNSUBSCRIBE sports
OutputSuccess
Important Notes

UNSUBSCRIBE does not close the connection; it only stops messages from specified channels.

You receive a message confirming each channel you unsubscribe from, showing how many channels remain subscribed.

Summary

UNSUBSCRIBE stops message delivery from one or more channels.

Without arguments, it unsubscribes from all channels.

It helps manage which messages your client receives without disconnecting.

Practice

(1/5)
1. What does the UNSUBSCRIBE command do in Redis Pub/Sub?
easy
A. Creates a new subscription to a channel
B. Deletes the specified channels permanently
C. Sends a message to all subscribers of a channel
D. Stops receiving messages from specified channels

Solution

  1. Step 1: Understand the purpose of UNSUBSCRIBE

    The UNSUBSCRIBE command is used to stop receiving messages from channels you previously subscribed to.
  2. Step 2: Differentiate from other commands

    It does not delete channels or send messages; it only stops message delivery to the client.
  3. Final Answer:

    Stops receiving messages from specified channels -> Option D
  4. Quick Check:

    UNSUBSCRIBE stops message delivery [OK]
Hint: UNSUBSCRIBE stops messages, it does not delete channels [OK]
Common Mistakes:
  • Thinking UNSUBSCRIBE deletes channels
  • Confusing UNSUBSCRIBE with PUBLISH
  • Assuming UNSUBSCRIBE creates subscriptions
2. Which of the following is the correct syntax to unsubscribe from all channels in Redis?
easy
A. UNSUBSCRIBE *
B. UNSUBSCRIBE ALL
C. UNSUBSCRIBE
D. UNSUBSCRIBE ()

Solution

  1. Step 1: Recall UNSUBSCRIBE syntax

    To unsubscribe from all channels, you call UNSUBSCRIBE without any arguments.
  2. Step 2: Check each option

    UNSUBSCRIBE * uses '*', which is invalid syntax. UNSUBSCRIBE ALL and D are not valid Redis commands.
  3. Final Answer:

    UNSUBSCRIBE -> Option C
  4. Quick Check:

    UNSUBSCRIBE with no args unsubscribes all [OK]
Hint: No arguments means unsubscribe from all channels [OK]
Common Mistakes:
  • Using wildcard '*' with UNSUBSCRIBE
  • Adding extra keywords like ALL
  • Using parentheses in command
3. Given the following Redis Pub/Sub commands executed by a client:
SUBSCRIBE news sports
UNSUBSCRIBE news
What channels will the client still receive messages from?
medium
A. news only
B. sports only
C. news and sports
D. none

Solution

  1. Step 1: Analyze the subscription commands

    The client subscribes to 'news' and 'sports' channels initially.
  2. Step 2: Apply UNSUBSCRIBE command

    UNSUBSCRIBE news removes subscription to 'news' only, so 'sports' remains subscribed.
  3. Final Answer:

    sports only -> Option B
  4. Quick Check:

    UNSUBSCRIBE removes specified channels only [OK]
Hint: UNSUBSCRIBE removes only listed channels, others stay subscribed [OK]
Common Mistakes:
  • Assuming UNSUBSCRIBE removes all subscriptions
  • Confusing subscribed channels after UNSUBSCRIBE
  • Thinking UNSUBSCRIBE adds subscriptions
4. You run the command UNSUBSCRIBE sports but still receive messages from the sports channel. What is the most likely cause?
medium
A. You have multiple subscriptions to sports and only one was removed
B. UNSUBSCRIBE command has a syntax error
C. You never subscribed to the sports channel
D. Redis server does not support UNSUBSCRIBE

Solution

  1. Step 1: Understand multiple subscriptions

    Redis allows multiple subscriptions to the same channel from the same client connection.
  2. Step 2: Effect of UNSUBSCRIBE on multiple subscriptions

    UNSUBSCRIBE removes one subscription per channel per call; if subscribed multiple times, some remain.
  3. Final Answer:

    You have multiple subscriptions to sports and only one was removed -> Option A
  4. Quick Check:

    Multiple subscriptions require multiple UNSUBSCRIBE calls [OK]
Hint: Multiple subscriptions need multiple UNSUBSCRIBE calls [OK]
Common Mistakes:
  • Assuming one UNSUBSCRIBE removes all duplicates
  • Thinking UNSUBSCRIBE syntax is wrong
  • Believing Redis lacks UNSUBSCRIBE support
5. A client subscribed to channels news, sports, and weather. It wants to stop receiving messages only from news and weather but keep sports. Which command should it use?
hard
A. UNSUBSCRIBE news weather
B. UNSUBSCRIBE sports
C. UNSUBSCRIBE
D. UNSUBSCRIBE all

Solution

  1. Step 1: Identify channels to unsubscribe

    The client wants to stop messages from 'news' and 'weather' only.
  2. Step 2: Use UNSUBSCRIBE with specific channels

    UNSUBSCRIBE followed by channel names unsubscribes only those channels, keeping others subscribed.
  3. Final Answer:

    UNSUBSCRIBE news weather -> Option A
  4. Quick Check:

    UNSUBSCRIBE with channels removes only those [OK]
Hint: List channels in UNSUBSCRIBE to remove only those [OK]
Common Mistakes:
  • Using UNSUBSCRIBE with no args removes all
  • Trying UNSUBSCRIBE all which is invalid
  • Unsubscribing wrong channels
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