使用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)
      }
    })
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

槿畔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值