Heim > Web-Frontend > js-Tutorial > Hauptteil

Node.js implementiert die Methode des MySQL-Verbindungspools mithilfe von Transaktionen, um Verbindungen automatisch wiederzuverwenden

小云云
Freigeben: 2018-02-05 09:46:56
Original
1663 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode von Node.js zum Implementieren des MySQL-Verbindungspools mithilfe von Transaktionen zum automatischen Recycling von Verbindungen vorgestellt Beispiele. Freunde, die es brauchen, können sich darauf beziehen. Ich hoffe, es kann allen helfen.

Das Beispiel in diesem Artikel beschreibt, wie Node.js den MySQL-Verbindungspool implementiert, um Verbindungen mithilfe von Transaktionen automatisch wiederzuverwenden. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:


var mysql = require('mysql'),
  Connection = require('mysql/lib/Connection.js');
var pool = mysql.createPool({
  host: '127.0.0.1',
  database: 'myDB',
  port: 3306,
  user: 'root',
  password: 'root',
  debug: false,
  connectionLimit: 3
});
var execPool = function() {
  pool.getConnection(function(err, conn) {
    transAutoRelease(conn);
    conn.beginTransaction(function(err) {
      if (err) throw err;
      conn.query("INSERT INTO test(id,name,date,test) values(1,'123',now(),1)",
        function(err, ret) {
          if (err) {
            console.error(err);
            conn.rollback(function() {});
          } else {
            console.log(ret);
            conn.query('UPDATE test set id=12321312 where id=1', function(err, ret) {
              if (err) {
                console.error(err);
                conn.rollback(function() {
                });
              } else {
                conn.commit(function() {
                  console.log('success' + JSON.stringify(ret));
                });
              }
            });
          }
        });
    });
  });
}
function after(fn, cb) { return function() {
    fn.apply(this, arguments);
    cb();
  }
}
function transAutoRelease(conn) {
  if (conn.commit == Connection.prototype.commit)
    conn.commit = after(conn.commit, release);
  if (conn.rollback == Connection.prototype.rollback)
    conn.rollback = after(conn.rollback, release);
  function release() {
    if (conn) {
      conn.release();
    }
  }
}
var intervalStartProcess = function() {
  setInterval(function() {
    execPool();
  }, 1000);
}
for (var i = 5 - 1; i >= 0; i--) {
  intervalStartProcess();
}
Nach dem Login kopieren

Verwandte Empfehlungen:

Detaillierte Erläuterung des automatischen Recyclings Mechanismus der Sitzung in PHP

Das obige ist der detaillierte Inhalt vonNode.js implementiert die Methode des MySQL-Verbindungspools mithilfe von Transaktionen, um Verbindungen automatisch wiederzuverwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!