PHP常用緩存技術介紹
最近小編喜歡上了PHP,下面就和大家一起來分享一下我知道的內容。更多內容請關注應屆畢業(yè)生網(wǎng)!
PHP緩存包括PHP編譯緩存和PHP數(shù)據(jù)緩存兩種。PHP是一種解釋型語言,屬于邊編譯邊運行的那種。這種運行模式的優(yōu)點是程序修改很方便,但是運行效率卻很低下。PHP編譯緩存針對這種情況做改進處理,使得PHP語言只要運行一次,就可以把程序的編譯結果緩存起來。這樣,接下來的每次運行都不需要再次編譯了,這大大提高PHP運行速度。PHP數(shù)據(jù)緩存運用于PHP實際開發(fā)之中針對數(shù)據(jù)處理進行緩存,主要兩大方向為:針對數(shù)據(jù)庫數(shù)據(jù)進行緩存和針對PHP模板數(shù)據(jù)進行緩存。
數(shù)據(jù)緩存
這里所說的數(shù)據(jù)緩存是指數(shù)據(jù)庫查詢緩存,每次訪問頁面的時候,都會先檢測相應的緩存數(shù)據(jù)是否存在,如果不存在,就連接數(shù)據(jù)庫,得到數(shù)據(jù),并把查詢結 果序列化后保存到文件
中,以后同樣的查詢結果就直接從緩存文件中獲得。
頁面緩存
每次訪問頁面的時候,都會先檢測相應的緩存頁面文件是否存在,如果不存在,就連接數(shù)據(jù)庫,得到數(shù)據(jù),顯示頁面并同時生成緩存頁面文件,這樣下次訪問 的時候頁面文件就發(fā)揮作用了。(模板引擎和網(wǎng)上常見的一些緩存類通常有此功能)
1、全頁面靜態(tài)化緩存
將頁面全部生成html靜態(tài)頁面,用戶訪問時直接訪問的靜態(tài)頁面,而不會去走php服務器解析的流程。
2、頁面部分緩存
該種方式,是將一個頁面中不經常變的部分進行靜態(tài)緩存,而經常變化的塊不緩存,最后組裝在一起顯示;可以使用類似于ob_get_contents的方式實現(xiàn),也可以利用類似ESI之類的頁面片段緩存策略,使其用來做動態(tài)頁面中相對靜態(tài)的片段部分的緩存。
內存緩存
Memcached是高性能的,分布式的內存對象緩存系統(tǒng),用于在動態(tài)應用中減少數(shù)據(jù)庫負載,提升訪問速度。
dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 數(shù)據(jù)庫內存緩存系統(tǒng)。
以上的緩存技術雖然能很好的解決頻繁查詢數(shù)據(jù)庫的問題,但其缺點在在于數(shù)據(jù)無時效性。
更新緩存
1、時間觸發(fā)緩存
檢查文件是否存在并且時間戳小于設置的過期時間,如果文件修改的時間戳比當前時間戳減去過期時間戳大,那么就用緩存,否則更新緩存。
設定時間內不去判斷數(shù)據(jù)是否要更新,過了設定時間再更新緩存。
2、內容觸發(fā)緩存
當插入數(shù)據(jù)或更新數(shù)據(jù)時,強制更新緩存。
【PHP常用緩存技術介紹】相關文章:
PHP緩存技術11-17
php緩存技術經典總結09-12
關于php緩存技術的總結12-20
PHP語言中緩存技術總結02-25
PHP 中九大緩存技術總結11-01
PHP中9大緩存技術總結02-11
php頁面緩存實現(xiàn)方法12-13
PHP文件緩存的性能測試08-17
PHP內存緩存Memcached類實例12-08