easymysql 基于node-mysql 开发而来,提供一个简单、高可用的mysql连接基础库。主要特性如下:
支持query超时控制;
可控制的连接池支持,SQL总是尽可能早地被 可用的 空闲连接抢到并执行;
支持master-slave模式,基于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);});