300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mongodb连接池 php node.js mongodb_nodejs使用mongodb连接池 node.js mongodb - phpStudy

mongodb连接池 php node.js mongodb_nodejs使用mongodb连接池 node.js mongodb - phpStudy

时间:2020-08-27 11:14:46

相关推荐

mongodb连接池 php node.js mongodb_nodejs使用mongodb连接池 node.js mongodb - phpStudy

nodejs使用mongodb连接池

在开发中想使用连接池 在网上找到了一段代码 但是自己测试的时候发现了些问题 当我把setTimeout中的语句数量变成五条以上的时候 nodejs会首先执行五条 然后过一段时间才会执行剩下的 而且好像server_options的pool_size:1好像也没有奇效 不知道这个是什么问题 要怎么做修改 代码如下:

var http=require('http'),

mongodb = require("mongodb"),

poolModule = require('generic-pool');

var pool = poolModule.Pool({

name : 'mongodb',

create : function(callback) {

var server_options={'auto_reconnect':false,poolSize:1};

var db_options={w:-1};

var mongoserver = new mongodb.Server('localhost', 27017,server_options );

var db=new mongodb.Db('test', mongoserver, db_options);

db.open(function(err,db){

if(err)return callback(err);

callback(null,db);

});

},

destroy : function(db) { db.close(); },

max : 10,

idleTimeoutMillis : 30000,

log : false

});

var server=http.createServer(function(req,res){

pool.acquire(function(err, db) {

if (err) {

res.statusCode=500;

res.end(JSON.stringify(err,null,2));

} else {

db.collection('foo').save({test:1},function(err,result){

res.end(JSON.stringify(result,null,2));

pool.release(db);

});

}

});

});

server.listen(8080,function(){

console.log('server listen to %d',this.address().port);

});

setTimeout(function(){

http.get('http://localhost:8080',function(res){console.log('request ok')});

http.get('http://localhost:8080',function(res){console.log('request ok')});

},2000);

相关阅读:

JS模块加载器如何解决循环依赖问题?

怎么用逻辑右移实现算术右移?

Ajax访问IIS虚拟目录路径访问不到

普通的类文件能不能读取SharedPreferences里的数据,如何读取?

Safari打不开该网页,因为网址已经失效

假设新浪微博里的微博数据条数有数亿了,请问新浪现在想查询浏览量最高的前10条数据,如何做?

这个闭包中的尾巴上的括号是什么意思?

手机端的border问题外边框有一圈奇怪的东西

gradle wrapper 如何加入版本控制?

system.js 编译好之后 为什么浏览器Sources里 能看到我的源文件?

引用类型有Object、Array、Date、RegExp、function等,他们之间是什么关系呢?

Java 转换double为Date format string的结果不一致

使用MYO和Leap Motion替代鼠标可行吗?

国内可以直接读google存储库中的数据吗?

如何像 Grunt、Yo 那样,创建自定义命令?

我想连接远程的服务器的mysql,但是总是提示连接本地,失败?

如何看待Monkeypatching,通常情况下还有更好的方法吗?

qq分享的图标以及文案可以配置的吗?

用定时器做一个发送验证码的倒计时遇到的问题?

如何用正则表达式匹配正则表达式?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。