使用node封装连接各类数据库

这篇文章直接指出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)
      }
    })
  }
}

猜你喜欢

转载自blog.csdn.net/qq_40513881/article/details/84967015