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 operating mysql connection pool to implement transaction-based connection recycling operations in the form of examples. Friends who need it can refer to it. Next, I hope it can help everyone.
The example in 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(); }
Related recommendations:
Detailed explanation of the automatic recycling mechanism of Session in php
The above is the detailed content of Node.js implements the method of mysql connection pool using transactions to automatically recycle connections. For more information, please follow other related articles on the PHP Chinese website!