Use PUBSUB to inspect the state of the pub/sub system without subscribing to anything.
CHANNELS lists the channels that currently have at least one subscriber, optionally filtered by a glob-style pattern. NUMSUB reports the subscriber count for each channel you name, and NUMPAT reports how many distinct patterns are subscribed to across all clients.
Only exact-channel subscriptions are counted by CHANNELS and NUMSUB: a client subscribed with PSUBSCRIBE will receive matching messages but does not make a channel appear as active. Use these forms for monitoring and debugging, for instance to confirm that a consumer is really attached before publishing.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
CHANNELS [pattern] | One form | No | List active channels, optionally filtered by a glob-style pattern. |
NUMSUB [channel ...] | One form | Yes | Return subscriber counts for the supplied channels. |
NUMPAT | One form | No | Return the number of active pattern subscriptions. |
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Array of channel names, flat channel/count array, or Integer |
| RESP3 | Array of channel names, flat channel/count array, or Integer |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.
Redis CLI
@upstash/redis
This command is not supported yet in @upstash/redis.
upstash_redis
This command is not supported yet in upstash_redis.