臨沂達(dá)內(nèi)IT教育培訓(xùn)
全國統(tǒng)一學(xué)習(xí)專線 8:30-21:00
位置:有考網(wǎng) > 計算機類 > php開發(fā) > > php高性能接口如何設(shè)計?  正文

php高性能接口如何設(shè)計?

發(fā)布時間:2021-09-22 16:48:37來源:轉(zhuǎn)載

php高性能接口怎么設(shè)計?php接口設(shè)計要考慮性能,這樣才能有效面對高并發(fā)的情況,下面來說說PHP接口優(yōu)化提高性能的幾條技巧。

一、服務(wù)器

從配置上做提升,對于系統(tǒng)整體的執(zhí)行效率是相當(dāng)明顯的,這一點沒有什么好質(zhì)疑的,只要有實力,自然就可以多在這方面做提升了。

二、數(shù)據(jù)查詢

這個查詢的優(yōu)化,涉及sql的優(yōu)化,或者到數(shù)據(jù)庫的優(yōu)化,下面有幾個簡單的優(yōu)化方案。

1. sql的優(yōu)化,適當(dāng)使用鏈表查詢,使用連接(JOIN)來代替子查詢,一般大表和多表的情況避免使用JOIN,這種情況下使用JOIN反而達(dá)不到簡化查詢的效果。

2. sql的優(yōu)化,查詢表數(shù)據(jù)時精確字段名進(jìn)行查詢,避免不必要的字段查詢。

3. sql的優(yōu)化,適當(dāng)使用主外鍵和索引,索引字段的查詢效率在大表查詢的效率對比相當(dāng)明細(xì)。但是針對對索引得使用,稍作備注。索引在很多情況下是會失效得,比如,索引列得字段內(nèi)容若整體占比過大,那這個索引也就沒什么作用了;not in ,not exist 中也是無效得;對索引列進(jìn)行運算.需要建立函數(shù)索引等

4. sql的優(yōu)化,適當(dāng)使用in查詢,盡量少用,較好用union代替,效率會明顯高 。 用in時,盡量使用索引字段。sql的優(yōu)化,適當(dāng)使用模糊查詢。較好不用,替換成全等,因為模糊中無法用索引

5. 數(shù)據(jù)庫的優(yōu)化,字段使用合理的字段類型,另外一個提率的方法是在可能的情況下,應(yīng)該盡量把字段設(shè)置為NOTNULL,避免空間浪費。

6. 數(shù)據(jù)庫的優(yōu)化,合理設(shè)計表結(jié)構(gòu)。比如,有時多些必要得冗余得字段,要好過連表查詢。

7. 數(shù)據(jù)庫的優(yōu)化,合理設(shè)計索引,在聯(lián)表查詢或條件篩選中,數(shù)據(jù)表增加索引后查詢的效率會快特別多。

三、代碼優(yōu)化

代碼上的優(yōu)化也是因人而異的,每個人可能編碼習(xí)慣和風(fēng)格不同,對于提高代碼性能有各自的見解,以下是我的部分看法。

1. foreach合理使用,盡量少在循環(huán)中套用循環(huán),在循環(huán)次數(shù)過多的情況下,非常耗性能。

2. 循環(huán)中,盡量避免數(shù)據(jù)操作,特別是查詢操作,在循環(huán)次數(shù)過多的情況下,多次調(diào)用效率很低,可一次獲取數(shù)據(jù)再拼接。

3. 同理,在循環(huán)中,避免配置的多次獲取,和time()函數(shù)方法的調(diào)用,這種一次聲明就可以重復(fù)使用。

4. 在php中,單引號和雙引號是有區(qū)別的,作為一種習(xí)慣字符串我都用單引號,因為它無需編譯,對于效率,可能談不上差異大小,可能就一點點

5. 合理利用在php中的函數(shù),像數(shù)組函數(shù)就非常豐富,要充分利用,一般不要自己去做他本身就支持的函數(shù)方法

6. 可以用上字典的概念,將數(shù)組以新索引形式存儲起來,我在數(shù)據(jù)的重組中很常用

7. 根據(jù)場景,合理使用緩存可以減少重復(fù)的數(shù)據(jù)查詢,提率

8. 合理拆分功能,比如一個列表查詢,并帶有詳情查看,可以將此處拆成兩個接口實現(xiàn),在需要時獲取數(shù)據(jù),減少資源浪費。

四、業(yè)務(wù)邏輯優(yōu)化

跟響應(yīng)無關(guān)的程序(如記錄日志等)耗時過多,使用fastcgi_finish_request()函數(shù)沖刷(flush)所有響應(yīng)的數(shù)據(jù)給客戶端并結(jié)束請求, 這使得客戶端結(jié)束連接后,需要大量時間運行的任務(wù)能夠繼續(xù)運行,且不影響響應(yīng)客戶端的時間。

相關(guān)內(nèi)容: php教程 php開發(fā) php高性能接口

同類文章
相關(guān)熱詞