如果要啓動數據庫緩存,必須要有一個數據庫及數據表,這些可以通過cache的配置文件完成
'cache' => [
'class' => 'yii\caching\DbCache',
'db' => 'cachedb',
'cacheTable' => 'cache',
],
參數說明
- db參數如果不設置會使用yii默認的db.php內的配置文件
- cacheTable表需要提前在數據庫內建立
cacheTable的初始化腳本
CREATE TABLE cache (
id char(128) NOT NULL PRIMARY KEY,
expire int(11),
data BLOB
);
當然我推薦大家重新建立一個數據庫來存放緩存表。
雖然DbCache配置和管理並不複雜,但是有些參數還是要注意下
**keyPrefix **緩存鍵值前綴
'cache' => [
'class' => 'yii\caching\DbCache',
'db' => 'cachedb',
'cacheTable' => 'cache',
'keyPrefix'=>'nai8_'
],
配置後,緩存的鍵值會增加一個前綴,防止多個系統/模塊公用一個緩存數據庫帶來的衝突問題,如下圖所示:
**gcProbability **垃圾回收機制,該值必須爲0-1000000中的一個數字,默認爲100,代表100/1000000 = 0.01%的概率回收已經過期的緩存。
gcProbability會被DbCache的gc函數引用,該函數被add()和set()觸發。當然如果你設置gcProbability=0,則不進行垃圾回收操作。
'cache' => [
'class' => 'yii\caching\DbCache',
'db' => 'cachedb',
'cacheTable' => 'cache',
'gcProbability'=>200
],
以上就是DbCache的基本使用方法及一些要注意的配置。