异步Mysql
   错。
<?php
include('server.ini');
new Async_mysql(function(){//创建异步Mysql容器
Async_mysql::co(function($mysql_conn,$mysql_orm){//创建异步Mysql一
//$mysql_conn为mysql的mysqli面向过程连接变量,如下数据库操作示例:
$sql = "insert into account(username) values('异步Mysql操作一')";
mysqli_query($mysql_conn,$sql);
mysqli_close($mysql_conn);
//$mysql_orm为mysql的orm操作变量,具体操作请阅读ORM文档。
},10);
/**
*10代表异步Mysql操作时,为避免发生同一时间片资源争抢而导致部分IO执行失败,设置的IO运行周期时间,以秒为单位,非必填项,可自行设置值;
*PS:如果不设置IO运行周期时间,也默认自动实现IO异步非阻塞模式。
*/
Async_mysql::co(function($mysql_conn,$mysql_orm){//创建异步Mysql二
$sql = "insert into account(username) values('异步Mysql操作二')";
mysqli_query($mysql_conn,$sql);
mysqli_close($mysql_conn);
},5);
});
//以上异步Mysql运行结果为:数据库5秒后写入'异步Mysql操作二',10秒后写入'异步Mysql操作一'。
异步Redis
   错。
<?php
include('server.ini');
new Async_redis(function(){//创建异步Redis容器
Async_redis::co(function($redis){//创建异步Redis一
//$redis为redis连接变量,如下数据库操作示例:
$redis->set('async1','异步Redis操作一');
echo $redis->get('async1');
$redis->close();
},10);
/**
*10代表异步Redis操作时,为避免发生同一时间片资源争抢而导致部分IO执行失败,设置的IO运行周期时间,以秒为单位,非必填项,可自行设置值;
*PS:如果不设置IO运行周期时间,也默认自动实现IO异步非阻塞模式。
*/
Async_redis::co(function($redis){//创建异步Redis二
$redis->set('async2','异步Redis操作二');
echo $redis->get('async2');
$redis->close();
},5);
});
//以上异步Redis运行结果为:数据库5秒后写入读取'异步Redis操作二',10秒后写入读取'异步Redis操作一'。
异步cURL
<?php
include('server.ini');
new Async(function($channel){
Async::co(function()use($channel){//创建协程一,同一协程内为同步阻塞执行
//实例化POST请求的cURL对象
$curl_post = new Curl;
$result = $curl_post->post($url,$data,$headers,$status);
//第一个参数为目标文件的url、第二个参数为发送的数据、第三个参数为头信息请求参数(非必填)、第四个参数为$data数据转换状态值(非必填),$result为请求返回值。
//$headers的数据类型必须为array,且为一维数组,元素值用冒号分隔键值对,如:['Authorization:init']
//$status参数默认可填值为'json'、'form',当头信息请求包含以下参数时:
['Contenttype:application/json','Accept:application/json'],请填入'json',此时body请求参数自动转换为json格式;
//当头信息请求包含以下参数时:
['Content-Type:application/x-www-form-urlencoded'],请填入'form',此时body请求参数自动转换为uri拼接参数,如name=easylt&type=php;
});
Async::co(function()use($channel){//创建协程二
//实例化GET请求的cURL对象
$curl_get = new Curl_get;
$result = $curl_get->get($url,$headers),第一个参数为目标文件的url、第二个参数为头信息请求参数(非必填),$result为请求返回值。
//$headers的数据类型必须为array,且为一维数组,元素值用冒号分隔键值对,如:['Authorization:init']
});
});