Voici mon code à l'aide de socket.io comme WebSocket et backend avec pub/sub redis.
var io = io.listen(server),
buffer = [];
var redis = require("redis");
var subscribe = redis.createClient(); **<--- open new connection overhead**
io.on('connection', function(client) {
console.log(client.request.headers.cookie);
subscribe.get("..", function (err, replies) {
});
subscribe.on("message",function(channel,message) {
var msg = { message: [client.sessionId, message] };
buffer.push(msg);
if (buffer.length > 15) buffer.shift();
client.send(msg);
});
client.on('message', function(message){
});
client.on('disconnect', function(){
subscribe.quit();
});
});
Chaque nouvelle demande d'e / s permettra de créer de nouveaux redis connexion. Si quelqu'un navigateur ouvert avec 100 onglets puis le redis client sera ouvert 100 connexions. Il n'a pas l'air gentil.
Est-il possible de réutiliser redis connexion si les cookies sont de même? Donc, si quelqu'un ouvrir plusieurs onglets du navigateur de considérer également comme ouvrir 1 connexion.