国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Swoole 4.1.0 正式版發(fā)布,支持原生 Redis/PDO/MySQLi 協(xié)程化

chuyao / 817人閱讀

摘要:重大新特性支持從版本開始支持了對原生協(xié)程化的支持??墒褂脤⑵胀ǖ耐阶枞僮髯?yōu)閰f(xié)程調(diào)度的異步非阻塞協(xié)程跟蹤新版本增加了兩個方法用于跟蹤協(xié)程運行。

重大新特性 支持 Redis/PDO/MySQLi

4.1.0版本開始支持了對PHP原生Redis、PDO、MySQLi協(xié)程化的支持。

可使用SwooleRuntime::enableCorotuine()將普通的同步阻塞RedisPDOMySQLi操作變?yōu)閰f(xié)程調(diào)度的異步非阻塞IO

SwooleRuntime::enableCoroutine();

go(function () {
    $redis = new redis;
    $retval = $redis->connect("127.0.0.1", 6379);
    var_dump($retval, $redis->getLastError());
    var_dump($redis->get("key"));
    var_dump($redis->set("key", "value"));
    $redis->close();
});
協(xié)程跟蹤

新版本增加了兩個方法用于跟蹤協(xié)程運行。

Coroutine::listCoroutines()可遍歷當前所有協(xié)程

Coroutine::getBackTrace($cid)可獲取某個協(xié)程的函數(shù)調(diào)用棧

function test1() {
    test2();
}

function test2() {
    while(true) {
        co::sleep(10);
        echo __FUNCTION__." 
";
    }
}

$cid = go(function () {
    test1();
});

go(function () use ($cid) {
    while(true) {
        echo "BackTrace[$cid]:
-----------------------------------------------
";
        //返回數(shù)組,需要自行格式化輸出
        var_dump(co::getBackTrace($cid))."
";
        co::sleep(3);
    }
});
BackTrace[1]:
-----------------------------------------------
#0  SwooleCoroutine::sleep(10) called at [/home/htf/workspace/swoole/examples/coroutine/backtrace.php:8]
#1  test2() called at [/home/htf/workspace/swoole/examples/coroutine/backtrace.php:3]
#2  test1() called at [/home/htf/workspace/swoole/examples/coroutine/backtrace.php:14]

其他修改

重構 CoChannel C底層代碼為C++, 解決復雜場景的非預期結果, 實現(xiàn)高穩(wěn)定

重構 CoHttpClient C底層代碼為C++協(xié)程模式, 解決異步時序問題, 實現(xiàn)高穩(wěn)定

支持在協(xié)程和Server中使用exit, 此時將會拋出可捕獲的SwooleExitException異常

移除所有迭代器(table/connection/coroutine_list)的PCRE依賴限制

增加open_websocket_close_frame配置, 可以在onMessage事件中接收close幀

廢棄HttpResponse->gzip()方法,改為使用http_compression配置項。底層會自動判斷客戶端傳入的Accept-Encoding選擇合適的壓縮方法, 新增谷歌BR壓縮支持

增加CoHttpClient->addData()方法,可將內(nèi)存中的數(shù)據(jù)作為上傳文件內(nèi)容進行發(fā)送

Solaris系統(tǒng)支持

Http2支持MAX_FRAME_SIZE分幀發(fā)送和MAX_HEADER_LIST_SIZE處理, 客戶端增加isStreamExist方法檢測是否存在對應流

swoole_http_response->status增加reason參數(shù)

修復MySQL prepare 中無符號參數(shù)使用了有符號值導致數(shù)值溢出的問題

修復HTTP2的onRequest回調(diào)中沒有協(xié)程的問題

修復tasking_num某些特殊情況下變?yōu)?b>-1的問題

修復HTTP2-server的window-update幀構造錯誤

修復所有PHP版本下的所有級別的編譯warning

GCC版本小于4.8時將會產(chǎn)生編譯錯誤

修復MySQL使用prepare時未使用參數(shù)綁定導致的內(nèi)存分配不斷增長

修復HTTP2重連時舊stream內(nèi)存丟失泄露

底層開發(fā)相關

統(tǒng)一文件命名 #970

CoHttpClient使用了create_objfree_obj保證內(nèi)存安全, 防止錯誤的PHP代碼引發(fā)內(nèi)存問題

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29363.html

相關文章

  • Swoole 2019 :化繁為簡、破繭成蝶

    摘要:開發(fā)負責人創(chuàng)建分支,編寫單元測試腳本,編寫代碼,實現(xiàn)提案中的所有內(nèi)容,最終發(fā)起交叉評審,檢查代碼,提出改進意見,反饋給開發(fā)負責人,繼續(xù)完善細節(jié)。 Swoole開源項目從2012年開始發(fā)布第一個版本,到現(xiàn)在已經(jīng)有近7年的歷史。在這七年的時間里: 提交了8821次代碼變更 發(fā)布了287個版本 收到并解決1161次issue反饋 合并了603次pull request 共有100位開發(fā)者...

    adam1q84 評論0 收藏0
  • Swoft 框架 1.0 正式來襲,首個基于 Swoole 原生協(xié)程的 PHP 框架

    摘要:歷時年多緊鑼密鼓的開發(fā),以及愉快而忙碌的春節(jié)假期,期間數(shù)從到快破,碼云首頁推薦,作者和社區(qū)的大力支持,正式版終于要和大家見面。此次更新新增了大量特性在易用性代碼復用性能方面都有所提升。可以用于構建高性能的系統(tǒng)中間件基礎服務等等。 歷時 1 年多緊鑼密鼓的開發(fā),以及愉快而忙碌的春節(jié)假期,期間 github star 數(shù)從 500 到快破 1k,碼云首頁推薦,Swoole作者 Rango ...

    weij 評論0 收藏0
  • Mix PHP V2 生態(tài):讓 Guzzle 支持 Swoole 的 Hook 協(xié)程

    摘要:是一個非常流行的的客戶端,現(xiàn)在各大廠的也都開始基于開發(fā),因為只支持的協(xié)程,而默認是使用擴展的,所以開發(fā)了,能在不修改源碼的情況下讓協(xié)程化。 Guzzle 是一個非常流行的 PHP 的 HTTP 客戶端,現(xiàn)在各大廠的 SDK 也都開始基于 Guzzle 開發(fā),因為 Swoole 只支持 PHP Stream 的協(xié)程 Hook ,而 Guzzle 默認是使用 cURL 擴展的,所以 Mix...

    Flands 評論0 收藏0
  • Mix PHP V2 實例:AliCloud 短信協(xié)程池異步發(fā)送守護程序

    摘要:前些時間我們發(fā)布了實例協(xié)程池異步郵件發(fā)送守護程序范例,這一次我們提供一個使用大廠通過協(xié)程化來并行執(zhí)行短信發(fā)送任務,本文是一個代碼簡單性能極強的范例。 前些時間我們發(fā)布了 Mix PHP V2 實例:協(xié)程池異步郵件發(fā)送守護程序 范例,這一次我們提供一個使用大廠 SDK 通過 Swoole Hook 協(xié)程化來并行執(zhí)行短信發(fā)送任務,本文是一個代碼簡單、IO 性能極強的范例。 請先升級到 m...

    qc1iu 評論0 收藏0
  • Swoole 2.1 式版發(fā)布,協(xié)程+通道帶來全新的 PHP 編程模式

    摘要:的異步并行高性能網(wǎng)絡通信引擎已發(fā)布版本。新版本提供了全新的短名,完整支持了協(xié)程通道特性,為語言帶來了全新的編程模式。的借鑒至語言,在此向語言開發(fā)組致敬。其他服務器端提供了很多共個支持協(xié)程的類,可以在這些服務器程序中使用協(xié)程。 PHP的異步、并行、高性能網(wǎng)絡通信引擎 Swoole 已發(fā)布 2.1.0 版本。新版本提供了全新的短名 API,完整支持了協(xié)程(Coroutine)+通道(Cha...

    seanHai 評論0 收藏0

發(fā)表評論

0條評論

chuyao

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<