糯米文學吧

位置:首頁 > 計算機 > php語言

PHP常用緩存技術介紹

php語言1.37W

最近小編喜歡上了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 緩存 技術