如何在Redis NodeJS上订阅多个频道

时间:2012-07-17 14:45:42

标签: node.js redis

我有一个功能,我会不时打电话。

function blah() {
   sub.unsubscribe();
   sub.subscribe("a");
   sub.subscribe("b");
}

上述结果出现错误消息“错误:node_redis命令队列状态错误。”

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我目前正在使用redis。我也遇到了相同的问题,我试图订阅一组频道。

var redis = require('redis')

const subscribe = redis.createClient({
    host: 'localhost',
    port: 6379
}) 
subscribe.psubscribe(`user:chat:*`)

subscribe.on('pmessage', function(pattern, channel, message) {
    console.log(channel, message, pattern)
    // Write Your Awesome Code here.
})

Psubscribe用于使用Redis订阅多个频道。您可以根据模式订阅多个频道。

答案 2 :(得分:-1)

订阅连接后,它只能发出与订阅相关的命令(subscribe,psubscribe等) 您的代码的另一部分可能使用相同的连接? 您也可以尝试通过一次通话sub.subscribe("a", "b")订阅多个频道,或者订阅符合您需求的模式?