使用異步mysql好處 :?
防止代碼阻塞,提高代碼效率
適用場合:
1、不涉及共享資源,或?qū)蚕碣Y源只讀,即非互斥操作
2、沒有時序上的嚴(yán)格關(guān)系
3、不需要原子操作,或可以通過其他方式控制原子性
4、常用于IO操作等耗時操作,因為比較影響客戶體驗和使用性能
5、不影響主線程邏輯
推薦學(xué)習(xí):MySQL視頻教程
代碼示例:
<?php class mysql { private $param; public $db; public function __construct() { $this->db?=?new?swoole_mysql; ????????$this->param?=?array( ????????????'host'?=>?'127.0.0.1', ????????????'user'?=>?'root', ????????????'password'?=>?'123', ????????????'database'?=>?'test', ????????); ????} ????public?function?exec($sql)?{ ????????$this->db->connect($this->param,?function?($db,?$result)?use?($sql)?{ ????????????if?($result?===?false)?{ ????????????????echo?"連接數(shù)據(jù)庫失敗?:?錯誤代碼:"?.?$db->connect_errno?.?PHP_EOL?.?$db->connect_error; ????????????????return?false; ????????????} ????????????$db->query($sql,?function?($db,?$res)?{ ????????????????if?($res?===?false)?{ ????????????????????//?error屬性獲得錯誤信息,errno屬性獲得錯誤碼? ????????????????????echo?"sql語句執(zhí)行錯誤?:?"?.?$db->error; ????????????????}?else?if?($res?===?true)?{ ????????????????????//?非查詢語句??affected_rows屬性獲得影響的行數(shù),insert_id屬性獲得Insert操作的自增ID? ????????????????????echo?"sql語句執(zhí)行成功,影響行數(shù)?:?"?.?$db->affected_rows; ???????????????????? ????????????????}?else?{ ????????????????????//查詢語句??$result為結(jié)果數(shù)組? ????????????????????var_dump($res); ???????????????????? ????????????????} ????????????????$db->close(); ????????????}); ????????}); ????} } $mysql?=?new?mysql();
PHP中文網(wǎng),大量MySQL視頻教程,歡迎學(xué)習(xí)!
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦