我使用redis进行通知,它的工作原理如下 -
当user1有通知与朋友分享时,我会将该消息发布给用户的每个朋友的所有频道。使用socket.io和node,消息被推送给每个朋友,因为订阅部分是使用node处理的。
这可以正常工作,直到连接丢失。 在这个时候,在重新连接时,我发现在朋友的频道上发生了1次而不是1次发布,尽管只有1次活动像上一次发生的那样...
他们的任何配置是否可以避免使用哪个重复发布 重新连接?
同样发现,在重新连接时,它也尝试使用辅助传输进行连接。这可能是个问题吗?
答案 0 :(得分:1)
我想在每个连接上
io.sockets.on('connection', function(client){
//...
});
您订阅了redis
redisClient.subscribe('activity:*');
每次都不需要连接到redis。您应该在套接字连接之前连接到redis。