基于node-mysql的高可用mysql连接基础库:easymysql

jopen 10年前

easymysql 基于node-mysql 开发而来,提供一个简单、高可用的mysql连接基础库。主要特性如下:

  • 支持query超时控制;
  • 可控制的连接池支持,SQL总是尽可能早地被 可用的 空闲连接抢到并执行;
  • 支持master-slave模式,基于SHOW VARIABLES LIKE 'READ_ONLY'方式自动判断主库和从库,运行期间自动感知主从切换;
  • 即将支持事务。

Usage    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 params  mysql.query({    sql: 'select * from user where user =:user',    params: {user: 'xxoo'}  }, function (err, rows) {    console.log(rows);  });

项目主页:http://www.open-open.com/lib/view/home/1409214162978