node.js中如何配置redis与连接池?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js中如何配置redis与连接池?相关的知识,希望对你有一定的参考价值。

node.js中配置连接池可以考虑使用generic-pool模块
官网:http://github.com/coopernurse/node-pool
var poolModule = bbPromise.promisifyAll(require(\'generic-pool\'));
var redispool = poolModule.Pool(
name : \'redis\',
create : function(callback)
var client = Redis.createClient(configs.dbconfig.dbredis.port,
configs.dbconfig.dbredis.host);
callback(null, client);
,
destroy : function(client) client.quit(); ,
max : 10,
// optional. if you set this, make sure to drain() (see step 3)
min : 2,
// specifies how long a resource can stay idle in pool before being removed
idleTimeoutMillis : 30000
// if true, logs via console.log - can also be a function
//log : true
);
function getRedisClient()
return redispool.acquireAsync().disposer(function(client, promise)
console.log("redispool.release(client)")
redispool.release(client);
);

dbs.redisclient = getRedisClient ;
参考技术A 生产级Nodejs开发实践-使用连接池
http://segmentfault.com/a/1190000002432591
请参考上文教程

node.js如何配置mongodb连接池?

使用node-mongodb-native,这是官方为nodejs提供的驱
动。这个库本本身就实现了pool管理,所以不用另外考虑连接池。使用上可以通过配置链接url或server的属性设置连接池大小。可以在程序初始化时
创建一个全局的访问client,也可以自己再封装一次。所有通过这个client的发出的mongo操作请求,驱动底层都会自动分配链接。由于底层是用
c/c++实现的,所以不用担心代码会阻塞。具体如何创建可以参见http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html#mongoclient-connect

仅供参考~
参考技术A 使用node-mongodb-native驱动,在配置选项中就可以设置连接池选项

var publicdbtoptions = db: ,
server: poolSize: 5 , auto_reconnect:true ,
replSet: ,
mongos:

;
// Initialize connection once
MongoClient.connect(dbUrl,publicdbtoptions ,function(err, database)
if(err) throw err;
dbs.publicdb = database ;
console.info(dbUrl + " open OK publicdb");
//
);本回答被提问者采纳

以上是关于node.js中如何配置redis与连接池?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Node js 中承诺一个 mysql 池连接?

如何在node js中配置redis客户端

Node.js Redis 连接池

如何在 node.js 中的模块之间共享连接池?

Node.js如何使用MySQL的连接池实例

windows中使用Git工具连接GitHub(配置篇)