基于node-mysql的高可用mysql連接基礎庫:easymysql

jopen 10年前發布 | 40K 次閱讀 easymysql Node.js 開發

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.baiduhome.net/lib/view/home/1409214162978

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!