您好,登錄后才能下訂單哦!
這篇文章主要介紹使PHP與MySQL數據庫進行持久連接的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
數據庫持久連接:
1.持久的數據庫連接是指在腳本結束運行時不關閉的連接。當收到一個持久連接的請求時。PHP 將檢查是否已經存在一個(前面已經開啟的)相同的持久連接。如果存在,將直接使用這個連接;如果不存在,則建立一個新的連接。所謂“相同”的連接是指用相同的用戶名和密碼到相同主機的連接。
相關教程:mysql視頻教程
2.第一種方法是將 PHP 用作一個單獨運行的語言解釋器(CGI Wapper)。在這種情況下,使用持久連接和非持久連接沒有任何區別——因為PHP腳本本身的執行不是持久的。
3.把 PHP 用作多進程 web 服務器的一個模塊,這種方法目前只適用于 Apache,相同的客戶端第二次向服務端提出請求時,它將有可能被一個不同的子進程來處理。在開啟了一個持久連接后,所有請求 SQL 服務的后繼頁面都能夠重用這個已經建立的 SQL Server 連接。
4.在持久連接中使用數據表鎖時,如果腳本不管什么原因無法釋放該數據表鎖,其隨后使用相同連接的腳本將會被持久的阻塞,使得需要重新啟動 httpd 服務或者數據庫服務。
5.使用事務處理時,如果腳本在事務阻塞產生前結束,則該阻塞也會影響到使用相同連接的下一個腳本
6.程序使用持久連接(PDO::ATTR_PERSISTENT)訪問數據庫,則一個PHP-FPM工作進程對應一個到MySQL的長連接.
請求結束后,PHP不會釋放到MySQL的連接,以便下次重用,這個過程對程序是透明的.
這可以看作是PHP-FPM維護的"數據庫連接池".
7.非但不能節約MySQL資源,反而會加劇數據庫的負荷。
PDO持久化連接:
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true ));
證明:
以上是使PHP與MySQL數據庫進行持久連接的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。