This article mainly introduces the method of Node.js to implement mysql connection pool using transactions to automatically recycle connections. It analyzes the related techniques of node.js to operate mysql connection pool to implement transaction-based connection recycling operations in the form of examples. Friends who need it can Refer to the following
The example of this article describes how Node.js implements the mysql connection pool to automatically recycle connections using transactions. Share it with everyone for your reference, the details are as follows:
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(); }
The above is what I compiled for everyone, I hope it will be helpful to everyone in the future.
Related articles:
Why will Node.js become a web application development?
How to get the file upload progress in Node.js?
How to implement the longest common subsequence in javascript
The above is the detailed content of How to implement mysql transaction automatic recycling of connections in Node.js. For more information, please follow other related articles on the PHP Chinese website!