php實現(xiàn)訪問mysql的查詢超時方法:1、 修改客戶端,比如mysqli的query代碼,加入定時器,超時則返回;2、修改mysql中的vio代碼,因為mysql的網(wǎng)絡處理底層都是經(jīng)過vio的操作。
【相關(guān)學習推薦:mysql教程】
php實現(xiàn)訪問mysql的查詢超時方法:
在libmysql中, 是提供了mysql_opt_read_timeout設(shè)置項的, 并且libmysql中提供了設(shè)置相關(guān)設(shè)置項的api, mysql_options:
目前只有mysqli支持
<?php$mysqli = mysqli_init();$mysqli->options(11 /*mysql_opt_read_timeout*/, 1);$mysql->real_connect(*);不過, 因為在libmysql中有重試機制(嘗試一次, 重試倆次), 所以, 最終我們設(shè)置的超時閾值都會三倍于我們設(shè)置的值.
也就是說, 如果我們設(shè)置了mysql_opt_read_timeout為1, 最終會在3s以后超時結(jié)束. 也就是說, 我們目前能設(shè)置的最短超時時, 就是3秒…
1. 修改客戶端,比如 mysqli 的 query 代碼,加入定時器,超時則返回
2. 修改 mysql 中的vio代碼,因為mysql的網(wǎng)絡處理底層都是經(jīng)過vio的操作
想了解更多相關(guān)學習,敬請關(guān)注php培訓欄目!