php swoft框架實(shí)例用法
在框架選擇上,不少人會(huì)覺(jué)得swoft才是最強(qiáng)PHP框架,尤其是在常駐內(nèi)存模式的應(yīng)用級(jí)高性能框架,性能是這一堆頁(yè)面級(jí)框架遙不可及的,但是使用上稍微有點(diǎn)欠缺,內(nèi)容稍微復(fù)雜,不如easyswoole好上手,但是性能上是絕對(duì)的好用,大家如果在編寫項(xiàng)目時(shí)候,強(qiáng)烈要求使用性能,就可以了解下這個(gè)框架。
使用場(chǎng)景微服務(wù)治理的最佳框架
優(yōu)點(diǎn)內(nèi)存模式的應(yīng)用級(jí)高性能框架
使用流程1、服務(wù)注冊(cè)
2、服務(wù)取消
3、服務(wù)限制
實(shí)現(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ǔ)知識(shí)點(diǎn)
使用Swoft框架注意事項(xiàng)
因?yàn)镾woft是基于Swoole,所以和普通的PHP框架還是很不一樣的,有些是需要注意的。
1.不要再代碼中執(zhí)行sleep()以及其他睡眠函數(shù),這樣會(huì)導(dǎo)致整個(gè)進(jìn)程阻塞。
2.不要使用exit/die函數(shù),這樣會(huì)導(dǎo)致worker進(jìn)程直接退出。
3.進(jìn)程隔離需要注意的,當(dāng)修改了全局變量的值,會(huì)不生效,因?yàn)槿肿兞吭诓煌倪M(jìn)程中,內(nèi)存空間是隔離的。使用Swoft框架需要了解進(jìn)程隔離問(wèn)題。不同的進(jìn)程中PHP變量不是共享,即便是全局變量。如果不同的進(jìn)程需要共享數(shù)據(jù),可以使用Redis,Mysql,消息隊(duì)列,文件,Swoole/Table,APCu(php自帶的緩存擴(kuò)展),shmget(進(jìn)程通信(IPC)共享內(nèi)存)等工具。同時(shí)不同進(jìn)程的文件句柄也是隔離的,所以在A進(jìn)程創(chuàng)建的Socker連接打開的文件在B進(jìn)程內(nèi)是無(wú)效的。
4.進(jìn)程克隆,當(dāng)server啟動(dòng)時(shí)候,主進(jìn)程會(huì)克隆當(dāng)前進(jìn)程狀態(tài),此后開始進(jìn)程內(nèi)的數(shù)據(jù)互相獨(dú)立,互不影響。
5.不要再控制器寫基類來(lái)寫公共的變量,這樣會(huì)造成數(shù)據(jù)污染,當(dāng)下一個(gè)請(qǐng)求進(jìn)來(lái)依然會(huì)請(qǐng)求到這個(gè)變量,因?yàn)槌qv內(nèi)存并且單利所以不會(huì)釋放掉。
到此這篇關(guān)于php swoft框架實(shí)例用法的文章就介紹到這了,更多相關(guān)php swoft框架是什么內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera2. ASP.NET Core實(shí)現(xiàn)中間件的幾種方式3. React優(yōu)雅的封裝SvgIcon組件示例4. PHP字符串前后字符或空格刪除方法介紹5. ASP腳本組件實(shí)現(xiàn)服務(wù)器重啟6. jsp+servlet實(shí)現(xiàn)猜數(shù)字游戲7. ASP基礎(chǔ)知識(shí)Command對(duì)象講解8. 如何在jsp界面中插入圖片9. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享10. jsp+mysql實(shí)現(xiàn)網(wǎng)頁(yè)的分頁(yè)查詢
