Redis
 sql >> Database >  >> NoSQL >> Redis

Come eseguire la pipeline in node.js su redis?

Sì, devo essere d'accordo sul fatto che mancano esempi per questo, ma sono riuscito a creare lo stream su cui ho inviato diversi comandi di inserimento in batch.

Dovresti installare il modulo per lo stream redis:

npm install redis-stream

Ed ecco come usi lo stream:

var redis = require('redis-stream'),
    client = new redis(6379, '127.0.0.1');

// Open stream
var stream = client.stream();

// Example of setting 10000 records
for(var record = 0; record < 10000; record++) {

    // Command is an array of arguments:
    var command = ['set', 'key' + record, 'value'];  

    // Send command to stream, but parse it before
    stream.redis.write( redis.parse(command) );
}

// Create event when stream is closed
stream.on('close', function () {
    console.log('Completed!');

    // Here you can create stream for reading results or similar
});

// Close the stream after batch insert
stream.end();

Inoltre, puoi creare molti stream come vuoi e apri/chiudi come vuoi in qualsiasi momento.

Ci sono diversi esempi di utilizzare streaming redis in node.js sul modulo nodo redis-stream