Yii2緩存機制 - DbCache

如果要啓動數據庫緩存,必須要有一個數據庫及數據表,這些可以通過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_'
],

配置後,緩存的鍵值會增加一個前綴,防止多個系統/模塊公用一個緩存數據庫帶來的衝突問題,如下圖所示:

alt

**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的基本使用方法及一些要注意的配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章