首頁 >後端開發 >PHP問題 >php緩存有哪些

php緩存有哪些

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-09-24 15:42:142884瀏覽


php緩存有哪些

1、全頁面靜態化快取:

#將頁面全部產生為HTML靜態頁面,使用者造訪時直接造訪靜態頁面,不走PHP伺服器的解析流程。此種方式在CMS系統中較常見,如dedecms。

實作方法:輸出快取

ob_start()--打开“输出控制缓冲”;
some code --要运行的代码;
$content=ob_get_contents()--返回“输出缓冲区的内容”;
some code --使用file_put_contents()等函数将返回的数据写入HTML文件;
ob_clearn()--清空“输出缓冲区”;

2、頁面部分快取:

將頁面中不常變動的部分進行靜態化緩存,而經常變化的部分不緩存,最後組裝在一起顯示;可以使用類似ob_get_contents()的方式實現,也可以利用類似ESI之類的頁面片段緩存策略,使其用來做動態頁面中相對靜態的片段部分的快取.此快取方式常用與商城中的商品頁。

相關推薦:《php入門教學

3、資料快取:

快取資料的一種方式。例如,商城中的某個商品信息,當用商品id去請求時,就會得出包括店舖信息、商品信息等數據,此時就可以將這些數據緩存到一個php文件中,文件名包含商品id來建一個唯一標示;下一次有人想查看這個商品時,首先就直接調這個文件裡面的信息,而不用再去數據庫查詢;其實緩存文件中緩存的就是一個php數組之類;Ecmall商城系統裡面就用了這種方式。

4、查詢快取:

根據查詢來進行快取。將查詢得到的數據緩存在一個文件中,下次遇到相同的查詢時,就直接先從這個文件裡面調數據,不再去查數據庫;但此處的緩存文件名可能就需要以查詢語句為基點來建立唯一標示。

注意:以上幾種快取方式都需要對快取的檔案設定一個有效時間,在這個時間內,相同的存取會先取快取檔案的內容,超過有效時間後就重新從資料庫中取得數據,並產生新的快取檔案。

5、記憶體快取:

使用redis,memcached等nosql資料庫設定PHP緩存,透過快取查詢結果,來減少資料庫的造訪次數,進而提高網站的響應速度。

6、apache快取模組:

apache安裝完以後,是不被允許被cache的。如果外接了cache或squid伺服器要求進行web加速的話,就需要在htttpd.conf裡進行設置,當然前提是在安裝apache的時候要啟動mod_cache的模組。

安裝apache時:./configure –enable-cache –enable-disk-cache –enable-mem-cache

7、PHP APC快取擴充:

使用PHP中的APC擴充來進行快取。

8、Opcode碼快取:

首先php程式碼被解析為Tokens,然後再編譯為Opcode碼,最後執行Opcode碼,傳回結果;所以,對於相同的php文件,第一次運行時可以快取其Opcode碼,下次再執行這個頁面時,直接會去找到快取下的opcode碼,直接執行最後一步,而不再需要中間的步驟了。較知名的是XCache、Turck MM Cache、PHP Accelerator等。

以上是php緩存有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn