使 PHP 開發人員能夠編寫高性能的異步併發 TCP、UDP、Unix Socket、HTTP,WebSocket 服務。數據庫
Swoole 能夠普遍應用於互聯網、移動通訊、企業軟件、雲計算、網絡遊戲、物聯網(IOT)、車聯網、智能家居等領域。 編程
使用 PHP + Swoole 做爲網絡通訊框架,可使企業 IT 研發團隊的效率大大提高,更加專一於開發創新產品。緩存
Swoole不是一個像Zend Framework、CakePHP、Yii、symfony、ThinkPHP等同樣的框架,也不是一個像WordPress、Drupal、Discuz、UChome等開源產品看齊的項目。 服務器
Swoole的目標是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架發起挑戰。swoole
運行環境:Linux Windows Mac FreeBSD Unix網絡
PHP版本支持:PHP5.3+數據結構
支持的數據庫:MS SQL Server、MySQL、IBM DB二、Oracle、Interbase 、SQLite、PostgreSQL、ODBC多線程
支持的運行方式:Web、Cli命令行腳本、PHP-GTK GUI。 [2] 併發
包含如下幾個特點功能:框架
一、 相似ORM的數據查詢,提供SQL封裝器,讓MySQL的SQL與PHP的Array,會話,Cache無縫結合。
二、App MVC分層結構,有效的程序結構分層,提升程序的可維護性和擴展性,實現低耦合,基於接口開發。
三、集成大量,實用的功能,好比方便的數據庫操做,模板操做,緩存操做,系統配置,表單處理,分頁,數據調用,字典操做,上傳處理,內容編輯,調試等。
四、模板-數據反射系統,能夠直接在模板中調用數據,提供不少標籤,能夠無需修改程序,只修改模板,便可實現網站各種更新維護工做。
另外的幾個功能
一、Swoole包含了大量類,提供衆多的功能擴展,基本上Web開發可以用到的功能類,大部分均可以在Swoole框架中找到。
二、Swoole擁有插件系統,Fckeditor、Adodb、pscws中文分詞、中文全文索引系統、最新的Key-Value數據庫思想,TokyoTyrant,能夠無限擴展框架的功能。 [2]
Swoole 使用純 C 語言編寫,提供了 PHP 語言的異步多線程服務器,異步 TCP/UDP 網絡客戶端,異步 MySQL,異步 Redis,數據庫鏈接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。
Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。
除了異步 IO 的支持以外,Swoole 爲 PHP 多進程的模式設計了多個併發數據結構和IPC通訊機制,能夠大大簡化多進程併發編程的工做。其中包括了併發原子計數器,併發 HashTable,Channel,Lock,進程間通訊IPC等豐富的功能特性。
Swoole2.0 支持了相似 Go 語言的協程,可使用徹底同步的代碼實現異步程序。PHP 代碼無需額外增長任何關鍵詞,底層自動進行協程調度,實現異步。
swoole是PHP的異步、並行、高性能網絡通訊引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫鏈接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查
Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。
Swoole能夠普遍應用於互聯網、移動通訊、企業軟件、雲計算、網絡遊戲、物聯網(IOT)、車聯網、智能家居等領域。 使用PHP+Swoole做爲網絡通訊框架,可使企業IT研發團隊的效率大大提高,更加專一於開發創新產品。隨着咱們
用戶打開了咱們的網站。他要作的就是勾選須要發郵件的代理商列表,而後把結算郵件發出去。
假如咱們須要發1封郵件,咱們寫個函數執行便可。考慮到網絡可能會稍微有點延遲,可是是能夠接受的,用戶會乖乖等你的網頁發完郵件了再關閉網頁。
假如咱們要發佈10封郵件,用一個for循環,循環10遍執行發郵件操做。這時候,也許10倍的網絡延遲會讓用戶稍微有點不耐煩,但勉強能夠等吧。
假如要發100封郵件,for循環100遍,用戶直接揭竿而起,什麼破網站!
但實際上,咱們極可能有超過1萬的郵件。怎麼處理這個延遲的問題?答案就是用異步。把「發郵件」這個操做封裝,而後後臺異步地執行1萬遍。這樣的話,用戶提交網頁後,他所等待的時間只是「把發郵件任務請求推送進隊列裏」的時間。而咱們的後臺服務
將在用戶看不見的地方跑。而swoole就爲咱們實現了異步隊列處理及併發等問題