天天看點

Discuz!X/緩存機制和使用方法

discuz!x的緩存支援五種緩存方式,其優先度分别為:memcache,eaccelerator,xcache,file,sql。前三種 是使用第三方的緩存,伺服器環境得自己單獨配置,隻需要config_global.php裡配置config memory一段就好了,關于這一部分的代碼解讀參考 discuzx1.5緩存系統流程 。

最後的兩種是原生支援的,需要config_global.php裡配置config cache一段,個人感覺sql的會好一些,因為用的是記憶體緩存,但不友善檢視和開發調試,file是檔案緩存,好處是可以随時打開看看,調試友善。

好了,現在來說說怎麼使用緩存,如果一個網站有一些資料是不經常變動,但又使用頻繁的,就可以用緩存了。比如論壇版塊,欄目分類等。如果要增加一個新的緩存資料要怎麼辦呢?

1.要在\source\function\cache裡增加一個緩存檔案,定義資料的獲得方式和内容。檔案名和方法名按照規範來定義,會自動加入緩存機制,背景更新緩存時,都會自動執行,很容易就增加了一個新的資料緩存。

2.手動更新緩存和使用緩存呢,隻需參考以下代碼

Discuz!X/緩存機制和使用方法

//讀緩存,如果沒有更新的方法,就需要引入cache庫  

require_once libfile('function/cache');  

//xxxx是你的緩存名  

updatecache('xxxx');  

//執行多個更新緩存  

updatecache(array('xxxx','yyyy'));   

//載入緩存  

loadcache('xxxx');  

//使用緩存  

print_r($_g['cache']['xxxx']);