sql >> データベース >  >> NoSQL >> Redis

プロパティをRedisストアのsocket.ioオブジェクトに関連付ける方法は?

    はい、socket.ioサーバーの負荷を分散する場合は、redisstoreなどのストアを使用する必要があります。

    ただし、サーバー全体でデータの一貫性を維持するために、「socket_name_array」+イベントを使用しないでください。

    セットアップ

    var redis = require('redis'),
    var pub = redis.createClient(port, host),
    var sub = redis.createClient(port, host),
    var client = redis.createClient(port, host);
    
    io.configure(function(){
        io.set('store', new RedisStore({
            redisPub: pub,
            redisSub : sub,
            redisClient : client
        }));
    });
    

    使用法

    io.sockets.on('connection', function (socket) {
      var name = generate_random_name();
      socket.set('name', name); // store it in redis and forward this to other socket.io servers
    
      // On another server, if you want to retrieve this value from this socket just do:
      socket.get('name', function(err, name){
        // don't forget err. handling
        console.log(name);
      });
    
    });
    



    1. 20Hadoop2.xとHadoop3.xの顕著な違い

    2. MongoDBで大文字と小文字を区別しないインデックスを作成する方法

    3. bluebirdを使用してMongoDBネイティブJavascriptドライバーを約束するにはどうすればよいですか?

    4. コレクションからMongoDBプル配列要素