php快取類型有5種:1、資料緩存,即資料庫查詢PHP快取機制;2、頁面快取;3、時間觸發快取;4、內容觸發緩存,即插入資料或更新資料時,強制更新PHP快取機制;5、靜態快取。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
一個網站或一個應用程式的標準流程是瀏覽器向應用程式伺服器發出請求,應用程式伺服器做一些計算和邏輯判斷之後再請求資料庫,資料庫收到請求後在經過計算將資料傳回給應用程式伺服器,應用程式伺服器再次計算後把資料傳回瀏覽器
那麼,隨著web業務的複雜度和同時數量的增加,應用程式伺服器所做的運算和邏輯處理越來越多,而應用程式伺服器的資源是有限的,且資料庫每秒接受並處理請求的次數也是有限的。為了在有限的資源提供盡可能多的吞吐量,就是減少運算量,縮短請求流程(減少網路I/O或硬碟I/O)。這時,就用到了快取(Cache)
php快取類型
1、資料快取:
資料快取:這裡所說的資料快取是指資料庫查詢PHP快取機制,每次造訪頁面的時候,都會先偵測相應的快取資料是否存在,如果不存在,就連接資料庫,得到數據,並把查詢結果序列化後儲存到文件中,以後同樣的查詢結果就直接從快取表或文件中取得。
用的最廣的例子看Discuz的搜尋功能,把結果ID快取到一個表中,下次搜尋相同關鍵字時先搜尋快取表。
舉個常用的方法,多表關聯的時候,把附表中的內容生成數組保存到主表的一個字段中,需要的時候數組分解一下,這樣的好處是只讀一個表,壞處就是兩個資料同步會多不少步驟,資料庫永遠是瓶頸,用硬碟換速度,是這個的關鍵點。
2、頁面快取:
每次造訪頁面的時候,都會先偵測對應的快取頁面檔案是否存在,如果不存在,就連接資料庫,得到數據,顯示頁面並同時產生快取頁面文件,這樣下次造訪的時候頁面文件就發揮作用了。 (模板引擎和網路上常見的一些PHP快取機制類別通常有此功能)
3、時間觸發快取:
檢查檔案是否存在且時間戳小於設定的過期時間,如果檔案修改的時間戳比當前時間戳減去去過期時間戳大,那麼就用緩存,否則更新緩存。
4、內容觸發快取:
#當插入資料或更新資料時,強制更新PHP快取機制。
5、靜態快取:
這裡所說的靜態快取是指靜態化,直接產生HTML或XML等文字文件,有更新的時候重生成一次,適合於不太變化的頁面,這就不說了。
推薦學習:《PHP影片教學》
以上是php緩存有幾種類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!