使用node封裝連線各類資料庫
阿新 • • 發佈:2018-12-15
這篇文章直接指出node如何連線mysql資料庫,node如何連線mongodb,node如何連線redis
mysql連線:
var mysql = require('mysql'); //mysql配置 var pool = mysql.createPool({ host:'192.168.1.1339', //主機 user:'index', //MySQL認證使用者名稱 password:'123456', port:'3306', database:'ys_finance_dev' }); /***使用案例****/ pool.getConnection(function(err,connection) { if(err) { console.log("建立連線失敗",err); }else{ //成功連結 } connection.release();//釋放,如果不釋放連結累計會越來越多,最終導致伺服器cpu過高或者癱瘓 }
redis連線:
var redis = require('redis'), RDS_PORT = 6379, //埠號 RDS_HOST = '192.168.1.171', //伺服器IP RDS_OPTS = {}, //設定項 client = redis.createClient(RDS_PORT,RDS_HOST,RDS_OPTS); client.on('ready',function(err){ if(err){ console.log(err) } console.log('ready') }) //報錯監控,以防萬一 client.on("error", function (err) { report('RedisError'); logger.error("Error " + err); }); var client = redis.createClient({ retry_strategy: function (options) { if (options.error.code === 'ECONNREFUSED') { report('連線被拒絕'); } if (options.times_connected > 10) { report('重試連線超過十次'); } // reconnect after return Math.max(options.attempt * 100, 3000); } }); //捕獲異常,防止node程序中斷 function uncaughtExceptionHandler(err){ if(err && err.code == 'ECONNREFUSED'){ }else{ process.exit(1); } } process.on('uncaughtException', uncaughtExceptionHandler); /**使用案例***/ client.select('2', function(error){ client.set("some key", "some val"); }
MongoDB連線:
var MongoClient = require("mongodb").MongoClient; var DB_CONN_STR = "mongodb://localhost:27017/"; module.exports = { mongoConnect: function(dbName,sucessCb,failCb){ MongoClient.connect(DB_CONN_STR + dbName,(err,db) => { if(err){ // console.log(err) failCb(err) }else{ // console.log("資料庫連結成功") sucessCb(db) } }) } }