成品人精品区二区 四虎免费一区二区 欧美在线观看一区 欧美成人在线

1546瀏覽量

mysqli擴(kuò)展和持久化連接

來源: 時間:2016-09-21

mysqli擴(kuò)展的持久化連接在PHP5.3中被引入。支持已經(jīng)存在于PDO MYSQL 和ext/mysql中。持久化連接背后的思想是客戶端進(jìn)程和數(shù)據(jù)庫之間的連接可以通過一個客戶端進(jìn)程來保持重用, 而不是多次的創(chuàng)建和銷毀。這降低了每次需要創(chuàng)建一個新連接的開銷,未使用的連接被緩存起來并且準(zhǔn)備隨時被重用。

不像mysql擴(kuò)展,mysqli沒有提供一個特殊的方法用于打開持久化連接。需要打開一個持久化連接時,你必須在 連接時在主機(jī)名前增加p:。

使用持久化連接的問題在于它們可能在客戶端處于不可預(yù)知的狀態(tài)。比如,一個表鎖可能在客戶端意外終止之前被激活。 一個新的客戶端進(jìn)程重用這個持久化連接就會"按照原樣"得到這個連接。這樣,一個新的客戶端進(jìn)程 為了更好的使用持久化連接,就需要做任何可能的清理工作,這樣就增加了對程序員的負(fù)擔(dān)。

mysqli擴(kuò)展的持久化連接提供了內(nèi)建的清理處理代碼。mysqli 所做的清理工作包括:

  • 回滾活動的事務(wù)

  • 關(guān)閉并且刪除臨時表

  • 對表解鎖、

  • 重置會話變量

  • 關(guān)閉prepared語句(在PHP中經(jīng)常發(fā)生)

  • 關(guān)閉處理程序

  • 釋放通過GET_LOCK()獲得的鎖

這確保了從連接池返回的持久化連接在客戶端進(jìn)程使用它之前處于干凈的狀態(tài)。

mysqli擴(kuò)展通過自動的調(diào)用C-API函數(shù)mysql_change_user() 來完成這個清理工作。

自動清理的特性有優(yōu)點(diǎn)也有缺點(diǎn)。優(yōu)點(diǎn)是程序員不再需要擔(dān)心附加的清理代碼,因為它們會自動調(diào)用。然而缺點(diǎn)就是 代碼可能會潛在的慢一點(diǎn),因為每次從連接池返回一個連接都需要執(zhí)行這些清理代碼。

這個自動清理的代碼可以通過在編譯php時定義MYSQLI_NO_CHANGE_USER_ON_PCONNECT 來關(guān)閉。

聯(lián)系我們

一次需求提交或許正是成就一個出色產(chǎn)品的開始。
歡迎填寫表格或發(fā)送合作郵件至: qczsky@126.com

大理青橙科技

電話:13988578755 13988578755

郵箱:qczsky@126.com

地址:大理市下關(guān)龍都春天10層

如果您無法識別驗證碼,請點(diǎn)圖片更換

垦利县| 涟源市| 界首市| 邻水| 名山县| 陆良县| 道孚县| 平凉市| 文成县| 正蓝旗| 明星| 治多县| 米脂县| 辰溪县| 石城县| 朔州市| 延长县| 崇义县| 酒泉市| 江永县| 抚远县| 兴业县| 读书| 海南省| 广州市| 泊头市| 邵东县| 酒泉市| 德清县| 马边| 潜山县| 托克逊县| 利津县| 通渭县| 襄垣县| 多伦县| 莆田市| 凤山县| 巧家县| 南皮县| 临西县|