一尘不染

使用相同的redis.createClient()实例进行发布和订阅

redis

我正在与redis一起在socket.io客户端之间发布和订阅消息,当客户端连接到服务器(io.sockets.on('connection', function(socket){...});)时,我正在使用创建一个subscribe变量redis.createClient(),然后使用subscription函数将客户端订阅到频道。

我的问题是,是否有权使用相同的订阅变量来执行发布操作?还是创建另一个redis.createClient()用于发布消息的实例很重要,所以我将有2个实例,一个用于发布,一个用于订阅…

谢谢


阅读 1458

收藏
2020-06-20

共1个答案

一尘不染

Redis文档

一旦客户端进入订阅状态,就不应发出任何其他命令,除了其他SUBSCRIBE,PSUBSCRIBE,UNSUBSCRIBE和PUNSUBSCRIBE命令。

因此,您将需要两个客户端,一个用于订阅,一个用于发布(可能还有其他命令)。

2020-06-20