當前位置:學者齋 >

計算機 >php語言 >

PHP常用快取技術介紹

PHP常用快取技術介紹

最近小編喜歡上了PHP,下面就和大家一起來分享一下我知道的內容。更多內容請關注應屆畢業生網!

PHP常用快取技術介紹

PHP快取包括PHP編譯快取和PHP資料快取兩種。PHP是一種解釋型語言,屬於邊編譯邊執行的那種。這種執行模式的優點是程式修改很方便,但是執行效率卻很低下。PHP編譯快取針對這種情況做改進處理,使得PHP語言只要執行一次,就可以把程式的編譯結果快取起來。這樣,接下來的每次執行都不需要再次編譯了,這大大提高PHP執行速度。PHP資料快取運用於PHP實際開發之中針對資料處理進行快取,主要兩大方向為:針對資料庫資料進行快取和針對PHP模板資料進行快取。

  資料快取

這裡所說的資料快取是指資料庫查詢快取,每次訪問頁面的時候,都會先檢測相應的'快取資料是否存在,如果不存在,就連線資料庫,得到資料,並把查詢結 果序列化後儲存到檔案

中,以後同樣的查詢結果就直接從快取檔案中獲得。


  頁面快取

每次訪問頁面的時候,都會先檢測相應的快取頁面檔案是否存在,如果不存在,就連線資料庫,得到資料,顯示頁面並同時生成快取頁面檔案,這樣下次訪問 的時候頁面檔案就發揮作用了。(模板引擎和網上常見的一些快取類通常有此功能)

  1、全頁面靜態化快取

將頁面全部生成html靜態頁面,使用者訪問時直接訪問的靜態頁面,而不會去走php伺服器解析的流程。

  2、頁面部分快取

該種方式,是將一個頁面中不經常變的部分進行靜態快取,而經常變化的塊不快取,最後組裝在一起顯示;可以使用類似於ob_get_contents的方式實現,也可以利用類似ESI之類的頁面片段快取策略,使其用來做動態頁面中相對靜態的片段部分的快取。

記憶體快取

Memcached是高效能的,分散式的記憶體物件快取系統,用於在動態應用中減少資料庫負載,提升訪問速度。

dbcached 是一款基於 Memcached 和 NMDB 的分散式 key-value 資料庫記憶體快取系統。

以上的快取技術雖然能很好的解決頻繁查詢資料庫的問題,但其缺點在在於資料無時效性。


  更新快取

  1、時間觸發快取

檢查檔案是否存在並且時間戳小於設定的過期時間,如果檔案修改的時間戳比當前時間戳減去過期時間戳大,那麼就用快取,否則更新快取。

設定時間內不去判斷資料是否要更新,過了設定時間再更新快取。

  2、內容觸發快取

當插入資料或更新資料時,強制更新快取。

標籤: PHP 快取 技術
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/jsj/php/0lo36n.html