easymysql 基于node-mysql 开发而来,提供一个简单、高可用的mysql连接基础库。主要特性如下:
easymysql
node-mysql
支持query超时控制;
可控制的连接池支持,SQL总是尽可能早地被 可用的 空闲连接抢到并执行;
支持master-slave模式,基于SHOW VARIABLES LIKE 'READ_ONLY'方式自动判断主库和从库,运行期间自动感知主从切换;
SHOW VARIABLES LIKE 'READ_ONLY'
即将支持事务。
$ npm install easymysql
var Client = require('easymysql');var mysql = Client.create({ 'maxconnections' : 10});mysql.addserver({ 'host' : '127.0.0.1', 'user' : 'write_user', 'password' : ''});mysql.addserver({ 'host' : '127.0.0.1', 'user' : 'read_user', 'password' : ''});mysql.on('busy', function (queuesize, maxconnections, which) { // XXX: write log and monitor it});mysql.query('SHOW DATABASES', function (error, res) { console.log(res);});// bind paramsmysql.query({ sql: 'select * from user where user =:user', params: {user: 'xxoo'}}, function (err, rows) { console.log(rows);});