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