亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么建議不要在Node.js代碼中的任何地方關閉MongoDB連接?

為什么建議不要在Node.js代碼中的任何地方關閉MongoDB連接?

絕地無雙 2019-11-14 14:48:08
考慮以下是Node.js代碼:function My_function1(_params) {    db.once('open', function (err){     //Do some task 1});}function My_function2(_params) {    db.once('open', function (err){     //Do some task 2});}請參閱鏈接以獲取最佳實踐,該實踐表明不要關閉任何連接https://groups.google.com/forum/#!topic/node-mongodb-native/5cPt84TUsVg我已經看到日志文件包含以下數據:Fri Jan 18 11:00:03 Trying to start Windows service 'MongoDB'Fri Jan 18 11:00:03 Service runningFri Jan 18 11:00:03 [initandlisten] MongoDB starting : pid=1592 port=27017 dbpath=\data\db\ 64-bit host=AMOL-KULKARNIFri Jan 18 11:00:03 [initandlisten] db version v2.2.1, pdfile version 4.5Fri Jan 18 11:00:03 [initandlisten] git version: d6...e0685521b8bc7b98fd1fab8cfeb5aeFri Jan 18 11:00:03 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49Fri Jan 18 11:00:03 [initandlisten] options: { config: "c:\mongodb\mongod.cfg", logpath: "c:\mongodb\log\mongo.log", service: true }Fri Jan 18 11:00:03 [initandlisten] journal dir=/data/db/journalFri Jan 18 11:00:03 [initandlisten] recover beginFri Jan 18 11:00:04 [initandlisten] recover lsn: 6624179Fri Jan 18 11:00:04 [initandlisten] recover /data/db/journal/j._0Fri Jan 18 11:00:04 [initandlisten] recover skipping application of section seq:59343 < lsn:6624179Fri Jan 18 11:00:04 [initandlisten] recover skipping application of section seq:118828 < lsn:6624179Fri Jan 18 11:00:04 [initandlisten] recover skipping application of section seq:238138 < lsn:6624179Fri Jan 18 11:00:04 [initandlisten] recover skipping application of section seq:835658 < lsn:6624179Fri Jan 18 11:00:04 [initandlisten] recover skipping application of section seq:955218 < lsn:6624179Fri Jan 18 11:00:04 [initandlisten] recover skipping application of section seq:3467218 < lsn:6624179通過打開多個連接而不是關閉多個連接,這是否在服務器上造成了開銷?它是否在內部處理連接池?但是在MongoDB Docs中提到“這是不使用請求池的應用程序的正常行為”有人可以幫助我理解這一點嗎?
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

MongoDB將數據庫連接池化以提高效率,因此在mongodb.log中打開許多連接并不罕見


但是,當應用程序完全關閉時,關閉所有連接很有用。此代碼是執行此操作的最佳選擇。


process.on('SIGINT', function() {

  mongoose.connection.close(function () {

    console.log('Mongoose disconnected on app termination');

    process.exit(0);

  });

});


查看完整回答
反對 回復 2019-11-14
  • 3 回答
  • 0 關注
  • 1166 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號