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.手動更新緩存和使用緩存呢,隻需參考以下代碼

//讀緩存,如果沒有更新的方法,就需要引入cache庫
require_once libfile('function/cache');
//xxxx是你的緩存名
updatecache('xxxx');
//執行多個更新緩存
updatecache(array('xxxx','yyyy'));
//載入緩存
loadcache('xxxx');
//使用緩存
print_r($_g['cache']['xxxx']);