簡體   English   中英

PHP連接的更好方法(實時或即時)

[英]Better approach for PHP Connections (Alive or Instant)

我使用mysqli函數(原諒我不使用PDO)連接到MySQL數據庫。 我想知道哪種方法更好?

  1. 使所有類上的連接保持活動狀態,並在php腳本末尾關閉連接。 我的意思是直到頁腳不關閉$link
  2. 在每個課程上打開一個新的Connection,並在完成后立即關閉它們。

請同時考慮資源和安全性。 謝謝! :)

那么這個問題有多個答案。 我認為使php開發人員仍無法在關閉或保持活動狀態方面做出好的決定的原因是其他編程語言中的連接池概念(有據可查)。 例如JDBC驅動程序並不會自行處理池,而是會處理其他一些包裝器庫並創建池。 池化意味着將合理的連接保持活動一段時間,並將其用於新的查詢請求。 如果所有活動的連接都處於繁忙狀態,請啟動一個新連接,也不要關閉該連接,因為這聽起來應用程序正在運行。

據此( http://www.percona.com/blog/2006/11/12/are-php-persistent-connections-evil/),mysqli連接默認不是保持活動狀態。 意思是查詢一旦完成,它就會被mysql本身關閉(稍等一會兒)。 盡管如此,默認的等待生存時間,在mysql中大約是8個小時,也是可以配置的。

我的結論是:保持某些連接打開並重用它們不僅無害,而且建議這樣做。 但是應該處理類似會話范圍變量之類的事情,還有一條建議是:找到一個更新的包裝器或api來處理池,比讓您的手油膩更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM