1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

Update pub-sub.md

This commit is contained in:
Leibale Eidelman
2024-02-19 13:18:40 -08:00
committed by GitHub
parent 5ba5e093a8
commit cf5587ec4a

View File

@@ -4,7 +4,9 @@ The Pub/Sub API is implemented by `RedisClient`, `RedisCluster`, and `RedisSenti
## Pub/Sub with `RedisClient`
Pub/Sub requires a dedicated stand-alone client. You can easily get one by `.duplicate()`ing an existing `RedisClient`:
### RESP2
Using RESP2, Pub/Sub "takes over" the connection (a client with subscriptions will not execute commands), therefore it requires a dedicated connection. You can easily get one by `.duplicate()`ing an existing `RedisClient`:
```javascript
const subscriber = client.duplicate();
@@ -12,7 +14,7 @@ subscriber.on('error', err => console.error(err));
await subscriber.connect();
```
When working with a `RedisCluster`, this is handled automatically for you.
> When working with either `RedisCluster` or `RedisSentinel`, this is handled automatically for you.
### `sharded-channel-moved` event
@@ -29,6 +31,8 @@ The event listener signature is as follows:
)
```
> When working with `RedisCluster`, this is handled automatically for you.
## Subscribing
```javascript
@@ -39,7 +43,7 @@ await client.pSubscribe('channe*', listener);
await client.sSubscribe('channel', listener);
```
> ⚠️ Subscribing to the same channel more than once will create multiple listeners which will each be called when a message is recieved.
> ⚠️ Subscribing to the same channel more than once will create multiple listeners, each of which will be called when a message is received.
## Publishing