Maison > Article > interface Web > Node.js implémente la méthode du pool de connexions MySQL en utilisant des transactions pour recycler automatiquement les connexions
Cet article présente principalement la méthode de Node.js pour implémenter le pool de connexions mysql à l'aide de transactions pour recycler automatiquement les connexions. Il analyse les techniques associées de node.js exploitant le pool de connexions mysql pour implémenter des opérations de recyclage de connexions basées sur les transactions sous la forme de des exemples. Les amis qui en ont besoin peuvent s'y référer. Ensuite, j'espère que cela pourra aider tout le monde.
L'exemple de cet article décrit comment Node.js implémente le pool de connexions MySQL pour recycler automatiquement les connexions à l'aide de transactions. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
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(); }
Recommandations associées :
Explication détaillée du recyclage automatique mécanisme de Session en php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!