7

簡単な例があります:

var redis = require('redis'),
client = redis.createClient();

var test = function() {
    client.brpop('log', 0, function(err, reply) {
        if (err != null ) {
            console.log(err);
        }    else {
            .... parse log string ....
        }
        test();
    });
}

test();

redisサーバーを再起動した後にredis接続を再接続するにはどうすればよいですか?

4

1 に答える 1

16

Redisクライアントは自動的に再接続します。"error"クライアントからのイベントを処理することを確認してください。例のように

var redis = require('redis');
client = redis.createClient();
client.on('error', function(err){ 
  console.error('Redis error:', err); 
});

それ以外の場合、このコードはプロセスが開始される場所です。

this.emit("error", new Error(message));
// "error" events get turned into exceptions if they aren't listened for.  If the user handled this error
// then we should try to reconnect.
this.connection_gone("error");

次に、.connection_gone()メソッドがクライアントで実行されます。

"reconnecting"これが発生したときに通知されるイベントをリッスンすることもできることに注意してください。

于 2012-06-04T11:01:11.533 に答える