php swoft框架實例用法
在框架選擇上,不少人會覺得swoft才是最強PHP框架,尤其是在常駐內(nèi)存模式的應(yīng)用級高性能框架,性能是這一堆頁面級框架遙不可及的,但是使用上稍微有點欠缺,內(nèi)容稍微復(fù)雜,不如easyswoole好上手,但是性能上是絕對的好用,大家如果在編寫項目時候,強烈要求使用性能,就可以了解下這個框架。
使用場景微服務(wù)治理的最佳框架
優(yōu)點內(nèi)存模式的應(yīng)用級高性能框架
使用流程1、服務(wù)注冊
2、服務(wù)取消
3、服務(wù)限制
實現(xiàn)代碼:
class BreakerLogic{/*** @Breaker(fallback='funcFallback')** @return string* @throws Exception*/public function func(): string{// Do somethingthrow new Exception(’Breaker exception’);}關(guān)于swoft框架的基礎(chǔ)知識點
使用Swoft框架注意事項
因為Swoft是基于Swoole,所以和普通的PHP框架還是很不一樣的,有些是需要注意的。
1.不要再代碼中執(zhí)行sleep()以及其他睡眠函數(shù),這樣會導(dǎo)致整個進程阻塞。
2.不要使用exit/die函數(shù),這樣會導(dǎo)致worker進程直接退出。
3.進程隔離需要注意的,當(dāng)修改了全局變量的值,會不生效,因為全局變量在不同的進程中,內(nèi)存空間是隔離的。使用Swoft框架需要了解進程隔離問題。不同的進程中PHP變量不是共享,即便是全局變量。如果不同的進程需要共享數(shù)據(jù),可以使用Redis,Mysql,消息隊列,文件,Swoole/Table,APCu(php自帶的緩存擴展),shmget(進程通信(IPC)共享內(nèi)存)等工具。同時不同進程的文件句柄也是隔離的,所以在A進程創(chuàng)建的Socker連接打開的文件在B進程內(nèi)是無效的。
4.進程克隆,當(dāng)server啟動時候,主進程會克隆當(dāng)前進程狀態(tài),此后開始進程內(nèi)的數(shù)據(jù)互相獨立,互不影響。
5.不要再控制器寫基類來寫公共的變量,這樣會造成數(shù)據(jù)污染,當(dāng)下一個請求進來依然會請求到這個變量,因為常駐內(nèi)存并且單利所以不會釋放掉。
到此這篇關(guān)于php swoft框架實例用法的文章就介紹到這了,更多相關(guān)php swoft框架是什么內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. idea 打包的jar運行報 "XXX中沒有主清單屬性"2. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法3. Docker容器如何更新打包并上傳到阿里云4. 簡述python&pytorch 隨機種子的實現(xiàn)5. idea開啟代碼提示功能的方法步驟6. Facebook 將重寫 PHP 運行環(huán)境7. springboot log4j2不能打印框架錯誤日志的解決方案8. java虛擬機詳述-第三章(二)9. Idea+maven搭建SSH(struts2+hibernate5+spring5)環(huán)境的方法步驟10. asp中response.write("中文")或者js中文亂碼問題

網(wǎng)公網(wǎng)安備