Upstash Documentation

PUBSUB

Inspect pub/sub state.
2 min read

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#

ArgumentRequiredRepeatableDescription
CHANNELS [pattern]One formNoList active channels, optionally filtered by a glob-style pattern.
NUMSUB [channel ...]One formYesReturn subscriber counts for the supplied channels.
NUMPATOne formNoReturn 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.

ProtocolReply
RESP2Array of channel names, flat channel/count array, or Integer
RESP3Array of channel names, flat channel/count array, or Integer
Note

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
Note

This command is not supported yet in @upstash/redis.

upstash_redis
Note

This command is not supported yet in upstash_redis.

ioredis
node-redis
redis-py
go-redis
jedis
redis-rs