本文實例講述了Drupal7的cache緩存開發(fā)的方法。分享給大家供大家參考。具體方法如下:
Drupal是一款非常好用的php開發(fā)的開源內(nèi)容管理框架了,這個框架在緩存方面做得非常的不錯,下文一起來學(xué)習(xí)Drupal7 cache緩存開發(fā)吧。
使用Drupal構(gòu)建復(fù)雜而動態(tài)的內(nèi)容是件很容易的事情。但是稍有不慎,你會為這種容易付出代價。在用戶查看某些復(fù)雜而動態(tài)的頁面的時候,復(fù)雜的數(shù)據(jù)庫查詢,與高花銷的計算會導(dǎo)致頁面性能方面的問題。
解決方案之一是在Druapl的后臺頁面開啟頁面緩存。頁面緩存開啟后,可以在某些頁面極大的降低數(shù)據(jù)庫查詢次數(shù)從而提高頁面性能。但是這有一定的局限性,就是頁面緩存僅僅對匿名用戶有效。對應(yīng)登錄用戶則會生效。
逐漸的,你可能會分析自己寫過的代碼,找出數(shù)據(jù)出查詢的熱點進行緩存優(yōu)化。幸運的是,Drupal已經(jīng)內(nèi)置了一些緩存API,如果遵循下面的一些規(guī)則,可以將你的代碼優(yōu)化工作變得更容易。
基本規(guī)則:
規(guī)則:如果計算結(jié)果可以重用或存儲,就不要計算兩次。
下面的簡單例子用來演示這種情況。
這兩點理解后再來看上面的邏輯,發(fā)現(xiàn)雖然只有一個if判斷,但其實這段代碼是精妙無比的。
進階:善用Drupal的cache函數(shù)。
在上面的代碼中,靜態(tài)變量的數(shù)據(jù)只會在一次的頁面加載過程中有效。如果重新訪問該頁面,則會重新進行數(shù)據(jù)的計算。就是說靜態(tài)變量緩存的數(shù)據(jù)只是暫時的,沒有長久的存儲起來。下面的代碼,演示如何將復(fù)雜的計算結(jié)果的數(shù)據(jù)存儲到drupal的cache表中,從而實現(xiàn)長久存儲的目的。
新聞熱點
疑難解答