有什麼辦法連接mongodb並在任何地方使用它?當我想要使用mongodb時,我必須詳細輸入$m= new Mongo;
。我想知道重複連接是否會影響性能。我可以使用PHP連接MongoDB嗎?
回答
這對於MongoDb < 1.2來說很重要,但在此之後,持續連接是默認連接。 MongoDb的所有語言驅動程序都在內部智能管理連接池,因此您可以安全地使用默認行爲。 由於連接池,每當創建new Mongo()
時,它都會從連接池中選擇建立的連接,或者在沒有連接時重新連接。
摘錄: http://php.net/manual/en/mongo.connecting.php
In 1.2.0+, connections are always persistent and managed
automatically by the driver.
「連接池(版本1.2.0+)
創建連接是最重量級的事情之一是, 司機是否可以採取幾百毫秒即使在快速網絡上也能正確建立連接 因此,驅動程序嘗試 以最大限度地減少重新使用所創建的新連接的數量 來自泳池的連接。
當用戶創建Mongo的一個新實例時,所有必要的連接 將從其池中獲取(副本集可能需要多個連接,每個成員集有一個 連接)。當Mongo實例 超出範圍時,連接將返回到池中。當 PHP進程退出時,池中的所有連接都將被關閉。 「
這可以使用一個測試PHP腳本,並觀察mongostat
地看到,形成最大連接嘗試。
正是我想要的,謝謝! – LotusH 2012-04-25 06:19:38
private $m;
private function getMongo() {
if ($this->m) return $this->m;
return $this->m = new Mongo();
}
該技術被稱爲memoization
。現在無處不在,通常會創建一個新的mongo實例,而是調用這個函數,它會給你現有的連接而不是創建一個新的連接。
這不是單身嗎? – 2012-04-25 05:02:01
不是單身人士會在Mongo類中存儲$ m,Mongo沒有公共構造函數 – 2012-04-25 13:38:11
- 1. 我可以使用MongoDB以這種方式連接數據庫嗎?
- 2. 我可以使用MongoDB作爲localstorage嗎?
- 3. 我可以用javascript連接對象嗎?
- 4. 我可以從javascript函數連接到Mongodb嗎?
- 5. 使用PHP可以使用JDBC或ODBC連接嗎?
- 6. MongoDB可用連接
- 7. 可以連接Vb6和PHP嗎?
- 8. 我可以使用3G IP連接到我的iPhone嗎?
- 9. 我可以用Play2同時連接10,000個連接嗎?
- 10. 可以將angularjs直接連接到mongodb嗎?
- 11. 我可以SQL連接兩次表嗎?
- 12. MySql連接,我可以打開它嗎?
- 13. 我可以連接()沒有session_start()嗎?
- 14. WPF:我可以連接DataBinding屬性嗎?
- 15. 我可以在Android應用程序中使用WebSocket連接嗎?
- 16. 使用wsHttpBinding和x509證書的WCF服務 - 我可以使用VB/C#使用PHP使用/連接PHP嗎?
- 17. 可以多次連接db連接嗎? PHP - MySQL的
- 18. 我可以使用32位mongodb客戶端連接到64位MongoDB服務器嗎?
- 19. 我可以使用php web服務將android(Eclipse)連接到SQL Server(2005)嗎?
- 20. 我們可以使用右外連接得到左外連接的結果嗎
- 21. 我可以在JavaScript中使用php嗎?
- 22. spring-boot我可以使用FacebookAuthenticationService與apiKey和appSecret連接嗎?
- 23. 我可以使用內部連接更新嗎?
- 24. 我可以使用QUdpSocket與QTcpServer連接嗎?
- 25. 我可以在合併連接的輸出上使用SQL嗎?
- 26. 我可以使用相同的PDO dsn連接到mariadb嗎?
- 27. 我可以使用EclipseLink對變量執行外連接嗎?
- 28. 我可以使用C#連接到Java API嗎?
- 29. 我可以安全地使用utf8mb4列的utf8連接嗎?
那些14個字符肯定_are_詳細... – 2012-04-25 03:07:19
@MДΓΓБДLL很好,我的關鍵點是性能問題如果重複連接不會影響性能爲什麼mysql_pconnect在mysql中保持連接還活着? – LotusH 2012-04-25 03:11:06