PHP中常用三種緩衝技術

來源:互聯網
上載者:User

分成3個類別

1.緩衝模組
這這個是在伺服器上做的緩衝設定,比如Zend公司的Cache產品等,主要原理是通過對PHP代碼檔案的一次編譯儲存在記憶體中,通過減少I/O的操作來加快訪問速度,不在本文討論範圍之列
2.HTML方式
或許你說PHP產生HTML的方式不在本文討論的範圍之列,但是我個人人為這種方式仍然是一種Cache方式,如現在流行的產生HTML的程式也有不少,比如國內的一些CMS,這個也不在本文討論的範圍之列,一筆帶過.
3.產生Cache檔案
這個就是對一些常用的而且又不是經常變動的量,儲存在文本中,通過減少mysql的查詢量來加快程式執行,詳細的內容我們隨後介紹
4.php緩衝機制
舉個例子說,smarty模版裡面的緩衝機制,比如目前Discuz!論壇用的緩衝機制,後面具體說

以Discuz!論壇軟體5.0版本(或許你說了為什麼以Discuz!為例,而不以PhpWind或者其實CMS為例,主要是因為Discuz!和我要說的後面兩種緩衝機制結合的比較好,而其他軟體產品都或多或少的不太合適本文的要求)為例,在第三種機制中,Discuz!將基本設定和常用變數儲存在forumdata/cache檔案夾下面的一個檔案中,比如cache_settings.php就是論壇設定的中的資料儲存在一個數組總並存在這個檔案中,在需要這些變數的時候就通過include這個檔案來使用這些變數;在第四種機制中,Discuz!是把templates/default中的模版檔案,先行編譯,也就是在請求訪問index.php檔案的時候,程式先在forumdata/templates中是否已經產生先行編譯的檔案,如果存在則包含,如果沒有則在模版檔案夾中尋找模版然後產生,再包含,這麼一個處理流程

在這種處理機制下,在小負載小網站的情況下,顯然會有不少浪費,但是在中大網站或者說大型超大型網站的具體實施中,表現優異,但是顯然做論壇的貌似都是負載比較大,國內水論壇一堆哇

再過來看Phpwind論壇,做為國內PHP論壇唯一能在Discuz!的壓力下值得一提的一個論壇系統,顯然在緩衝機制上的處理不是很好,PW以前貌似也是做文本論壇起家的,同樣的文本對於I/O的壓力是很大的,尤其是在大中型網站的負載平衡上

寫到這裡突然不想寫了,本來是想謝謝外掛程式開發中的對於緩衝和模版的應用,然後突然想到寫一些我個人對於當前php緩衝機制的一些理解,寫到這裡,寫了2遍,狗日的伺服器,娘的MYSQL老是丟失逾時,你娘,伺服器配的有點水平和好,靠,不寫了

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.