我使用Redis和Node.js.
client = redis.createClient();
client.subscribe("__keyspace@0__:url_set");
client.on("message",function(channel, message) {
client.on('connect', function() {
client.lrange('url_list',0,-1,function(err3, reply3) {
console.log(reply3);
});
client.smembers('url_set',function(err4, reply4) {
console.log(reply4);
});
});
});
此处reply3
和reply4
为undefined
。邮件"邮件"中不允许lrange()
和smembers()
方框?
答案 0 :(得分:0)
是,当客户端处于订户模式时,不允许常规命令。为常规命令创建另一个客户端。
var client2 = redis.createClient();
将client2
用于lrange()
和smembers()
。
请参阅node-redis doc:
当客户端发出SUBSCRIBE或PSUBSCRIBE时,该连接将进入“订户”模式。此时,只有修改订阅集的命令才有效。订阅集为空时,连接将恢复为常规模式。
如果您需要在用户模式下向Redis发送常规命令,只需打开另一个连接。