sql >> Database >  >> RDS >> Mysql

node-mysql verbinding pooling

Update:februari 2013 - poolondersteuning is toegevoegd aan node-mysql, zie docs

Voorbeeld met ingebouwde pool:

var pool = require('mysql').createPool(opts);

pool.getConnection(function(err, conn) {
  conn.query('select 1+1', function(err, res) {
    conn.release();
  });
});

Oplossingen van vóór 2013:

U kunt node-pool gebruiken of mysql-pool of gebruik je eigen eenvoudige round-robin pool

function Pool(num_conns)
{
    this.pool = [];
    for(var i=0; i < num_conns; ++i)
        this.pool.push(createConnection()); // your new Client + auth
    this.last = 0;
}

Pool.prototype.get = function()
{
    var cli = this.pool[this.last];
    this.last++;
    if (this.last == this.pool.length) // cyclic increment
       this.last = 0;
    return cli;
}

nu kun je hopen dat alle query's terugbellen om in 1 seconde uit te voeren:

var p = new Pool(16);
for (var i=0; i < 10; ++i)
{
    p.get().query('select sleep(1)', function() { console.log('ready'); } ); // server blocks for 1 second
}


  1. Voeg toepassingsnaam / programmanaam toe aan mysql-verbindingsreeks

  2. Hoe alle beperkingen in tabel mysql incl. PK FK CHK UNI enz

  3. Hoe codeer je een apostrof zodat deze doorzoekbaar is in mysql?

  4. Hoe om te gaan met MySQL-verbinding(en) met Python multithreading