Maison >interface Web >js tutoriel >Comment implémenter le recyclage automatique des connexions par transaction MySQL dans Node.js
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, et 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 exemples. Les amis qui en ont besoin peuvent Pour référence,
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. Je le partage avec vous 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(); }
Ce qui précède est ce que j'ai compilé pour vous. J'espère qu'il vous sera utile à l'avenir.
Articles associés :
Pourquoi Node.js deviendra-t-il le développement d'applications web ?
Comment obtenir la progression du téléchargement du fichier dans Node.js ?
Comment implémenter la sous-séquence commune la plus longue en javascript
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!