Arguments
The patterns matching channels to publish to.
Response
A subscriber instance which can subscribe to channels.
const subscription = redis.psubscribe(["user:*"]);
const messages = [];
subscription.on("pmessage", (data) => {
messages.push(data.message);
});
await redis.publish("user:123", "user:123 message"); // receives
await redis.publish("user:456", "user:456 message"); // receives
await redis.publish("other:789", "other:789 message"); // doesn't receive
console.log(messages[0]) // user:123 message
console.log(messages[1]) // user:456 message
console.log(messages[2]) // undefined
Subscribe to a channel by patterns/wildcards
const subscription = redis.psubscribe(["user:*"]);
const messages = [];
subscription.on("pmessage", (data) => {
messages.push(data.message);
});
await redis.publish("user:123", "user:123 message"); // receives
await redis.publish("user:456", "user:456 message"); // receives
await redis.publish("other:789", "other:789 message"); // doesn't receive
console.log(messages[0]) // user:123 message
console.log(messages[1]) // user:456 message
console.log(messages[2]) // undefined
const subscription = redis.psubscribe(["user:*"]);
const messages = [];
subscription.on("pmessage", (data) => {
messages.push(data.message);
});
await redis.publish("user:123", "user:123 message"); // receives
await redis.publish("user:456", "user:456 message"); // receives
await redis.publish("other:789", "other:789 message"); // doesn't receive
console.log(messages[0]) // user:123 message
console.log(messages[1]) // user:456 message
console.log(messages[2]) // undefined
Was this page helpful?