來源:不言 發(fā)布時(shí)間:2018-12-05 15:50:36 閱讀量:1194
這篇文章主要介紹了在Laravel5.6中使用Swoole的協(xié)程數(shù)據(jù)庫查詢,詳細(xì)的介紹了什么是Swoole,以及Laravel5.6中使用Swoole,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
什么是Swoole
直接套用Swoole官網(wǎng)的介紹:PHP的異步、并行、高性能網(wǎng)絡(luò)通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶端,異步MySQL,異步Redis,數(shù)據(jù)庫連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫,異步DNS查詢。 Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶端、Http2.0服務(wù)器端。
Swoole官網(wǎng)的文檔不夠豐富啊,這比較頭疼,但大部分的問題都解釋了。如果你對(duì)Swoole很感興趣,那么看看這個(gè)Swoole入門教程。Swoole提供了多線程、長連接等很多牛逼的功能,把php上升到了一個(gè)新的臺(tái)階,具體的你可以看看入門教程,本文只限于討論Laravel和Swoole的結(jié)合。
Swoole為了提供服務(wù),必須以CLI模式運(yùn)行,什么是CLI模式呢?如果你Swoole業(yè)務(wù)代碼是寫在一個(gè)叫server.php的文件中,那么在命令行下輸入php server.php開啟。這是比較頭疼的事情,因?yàn)長aravel框架可不是這樣的運(yùn)轉(zhuǎn)的,那如何能與Laravel結(jié)合呢?沒錯(cuò),自定義一條Artisan Command,就這么簡單。
強(qiáng)烈推薦在你的laravel項(xiàng)目中,使用 laravel-s
這個(gè)包.
1 |
|
然后,依賴 kuaiapp/db
這個(gè)包,作用是實(shí)現(xiàn) Swoole\Coroutine\MySQL
的偽 PDO 接口
1 |
|
給 vendor/laravel/framework
打patch
1 2 3 |
|
啟動(dòng)laravel-s
1 |
|
現(xiàn)在你就可以測試你的數(shù)據(jù)庫查詢了。