swooleプローブノート3非同期処理
1565 ワード
1、非同期読取ファイル
//オブジェクト向けswoole_async_readfile(string $filename,$callback);//純関数swoole非同期読み込みファイルSwooleAsync::readFile(string$filename,$callback);
2、非同期ファイル書き込み
swoole_async_writefile($filename,$fileContent,$callback,$flags=0)$fileContent書き込みの内容最大4 M$flags書き込みのオプションFILE_APPEND表示ファイル末尾に追加
3、非同期イベント
swoole_event_add($sock,$read_callback,$write_callback=null,$flags=null);
4、非同期mysql
swoole_mysql connect on escape query
//オブジェクト向けswoole_async_readfile(string $filename,$callback);//純関数swoole非同期読み込みファイルSwooleAsync::readFile(string$filename,$callback);
//
swoole_async_readfile(__DIR__."/1.txt",function($filename,$content){
echo "$filename $content";
});
2、非同期ファイル書き込み
swoole_async_writefile($filename,$fileContent,$callback,$flags=0)$fileContent書き込みの内容最大4 M$flags書き込みのオプションFILE_APPEND表示ファイル末尾に追加
$content = 'hello world';
swoole_async_writefile("2.txt",$content,function ($filename){
echo $filename;
},0);
3、非同期イベント
swoole_event_add($sock,$read_callback,$write_callback=null,$flags=null);
4、非同期mysql
swoole_mysql connect on escape query
//
$db = new swoole_mysql();
$config = [
'host' => '127.0.0.1',
'user' => 'root',
'password' => '!@#yhj123',
'database' => 'hong',
'charset' => 'utf8',
];
//
$db->connect($config,function ($db,$r){
if($r === false){
var_dump($db->connect_errno,$db->connect_error);
die(" ");
}
//
$sql = 'show tables';
$db->query($sql,function (swoole_mysql $db,$r){
if($r === false){
var_dump($db->error);
die(" ");
}elseif($r === true){
var_dump($db->affected_rows,$db->insert_id);
}
var_dump($r);
$db->close();
});
});