小编use*_*166的帖子

如何在socket.io中重用redis连接?

这是我的代码使用socket.io作为WebSocket和后端与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();
    });
});
Run Code Online (Sandbox Code Playgroud)

每个新的io请求都将创建新的redis连接.如果有人用100个标签打开浏览器,那么redis客户端将打开100个连接.它看起来不太好看.

如果cookie相同,是否可以重用redis连接?因此,如果有人打开许多浏览器标签,也将其视为开放1连接.

redis node.js socket.io

40
推荐指数
1
解决办法
3万
查看次数

通过节点js实时进行视频编码?

有没有人知道ffmpeg节点中的实时编码视频?我知道transloadit在这方面做得很好.任何的想法 ?

https://transloadit.com/blog/2010/12/realtime-encoding-over-150x-faster

video ffmpeg node.js

3
推荐指数
1
解决办法
7349
查看次数

标签 统计

node.js ×2

ffmpeg ×1

redis ×1

socket.io ×1

video ×1