Cette fois, je vais vous montrer comment utiliser le recyclage automatique des transactions dans le pool de connexion mysql (avec code). Quelles sont les précautions pour utiliser le recyclage automatique des transactions dans le pool de connexion mysql (avec code). est un cas pratique. Jetons un coup d’oeil.
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(); }
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes. sur le site PHP chinois !
Lecture recommandée :
Encapsulation personnalisée de composants inter-domaines ajax
Pourquoi utiliser Node.js pour le développement d'applications Web
Express+multer implémente les étapes spécifiques pour télécharger des images de nœuds
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!