Node 连接池pool
//1:加载相应的模块 http url fs mysql
const http = require("http");
const url = require("url");
const fs = require("fs");
const mysql = require("mysql");
//2:创建连接池
var pool = mysql.createPool({
host:'127.0.0.1',
user:'root',
password:'',
database:'jd',
connectionLimit:5 //连接池大小
});
//3:创建服务器
var server = http.createServer();
server.listen(80);
//4:为服务器注册事件request
//参数 req 请求对象(客户信息)
//参数 res 响应对象(服务器信息)
server.on('request',(req,res)=>{
//5:解析参数
var objUrl = url.parse(req.url,true);
//6:获取请求地址
var path = objUrl.pathname;
//7:设置响应头信息格式
res.setHeader('content-type','text/html;charset=utf-8');
//8:判断路径
if(path==='/register'){
//9:异步读取文件
fs.readFile("./public/register.html",(err,data)=>{
if(err)throw err;
res.end(data);
});
}else if(path==='/register.do'){
var n = objUrl.query.uname;
var p = objUrl.query.upwd;
//10:从连接池中获取一个连接
pool.getConnection((err,conn)=>{
if(err){
console.log("从连接池中获取连接失败");
}else{
//11:发送sql语句
conn.query("INSERT INTO jd_user VALUES(null,?,?)",
[n,p],(err,result)=>{
if(err){
console.log("sql语句执行失败");
}else{
console.log("执行成功");
}
//12:释放连接
conn.release();
});
}
});
}
});
//4:解析参数如果请求 register 返回register.html
//5: register 添加数据库
Node 连接池pool的更多相关文章
- [nodejs]解决mysql和连接池(pool)自动断开问题
最近在做一个个人项目,数据库尝试使用了mongodb.sqlite和mysql.分享一下关于mysql的连接池用法.项目部署于appfog,项目中我使用连接池链接数据库,本地测试一切正常.上线以后,经 ...
- rpc框架之 thrift连接池实现
接前一篇rpc框架之HA/负载均衡构架设计 继续,写了一个简单的thrift 连接池: 先做点准备工作: package yjmyzz; public class ServerInfo { publi ...
- DBCP数据源连接池实现原理分析
前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的 ...
- nodejs的mysql模块学习(八)关闭连接池
关闭连接池 可以用pool.end()关闭连接池 pool.end(function (err) { // 所有的连接都已经被关闭 }); 当关闭之后pool将不可以getconnection()
- java操作redis redis连接池
redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...
- 连接池 DBCP c3p0以及分页的案例
1. 连接池 思考: 程序中连接如何管理? 连接资源宝贵:需要对连接管理 连接: a) 操作数据库,创建连接 b) 操作结束, 关闭! 分析: 涉及频繁的连接的打开.关闭,影响程序的运行效率! 连接 ...
- java客户端Jedis操作Redis Sentinel 连接池
pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...
- 《深入理解mybatis原理》 Mybatis数据源与连接池
对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题.本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池. 本文首先会讲述MyB ...
- 《深入理解mybatis原理3》 Mybatis数据源与连接池
<深入理解mybatis原理> Mybatis数据源与连接池 对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题.本文将通过对MyBatis框架的数据源结构 ...
随机推荐
- 淘宝可伸缩高性能互联网架构HSF(转)
文章转自http://blog.csdn.net/hpf911/article/details/14165865 时间过得很快,来淘宝已经两个月了,在这两个月的时间里,自己也感受颇深.下面就结合淘宝目 ...
- mysql数据表的字段操作
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, ` ...
- android 通讯类资料整理
https://github.com/koush/AndroidAsync(websocket) https://github.com/loopj/android-async-http http:// ...
- ftrace利器之trace-cmd和kernelshark
关键词:ftrace.trace-cmd.kernelshark. trace-cmd是设置读取ftrace的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果. trace-cm ...
- python中#!/usr/bin/python与#!/usr/bin/env python的区别
目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: #!/usr/bin/python 或 >#!/usr/b ...
- odooERP系统(框架)总结
1:Odoo 是一个现代化的商业应用套件,使用 AGPL 许可证,并具有客户关系管理(CRM),人力资源,销售,采购,会计,制造,仓库管理,项目管理,以及众多社区模块. 2:它是基于一个模块化,可扩展 ...
- SPOJ GSS(Can you answer the Queries)系列 7/8
GSS1 线段树最大子段和裸题,不带修改,注意pushup. 然而并不会猫树之类的东西 #include<bits/stdc++.h> #define MAXN 50001 using n ...
- CF1110G Tree-Tac-Toe 博弈论、构造
传送门 UPD:之前可能对白色变无色的过程讲的不是很清楚,已经补充 显然在双方绝顶聪明的情况下,黑色不可能赢 首先考虑树上一个白色的点都没有的情况: 1.如果树上有一个点的度数\(\geq 4\),白 ...
- 在线图标制作,格式转换 ICON
在线图标制作,格式转换 https://www.easyicon.net/covert/
- POJ Remmarguts' Date
题目链接-> 题解: 次短路模板. 代码: #include<cstdio> #include<iostream> using namespace std; #defin ...