1、属性$cache = []
$cache = [
'nav'=>[//配置nav方法的缓存
'is'=>false, # 是否开启动态缓存
'expire'=>120, # 缓存时间,单位秒(s), 可选
'params'=>[], # 缓存参数配置, key 为 POST/GET 参数的键,value 为 默认值,可选
'suffix'=>'', # 设置缓存键的后缀,可选
]
]
2、流程
统一继承ccontroller
1)runAction方法
$this->isCache($id)//判断是否需要开启方法缓存
2)DHTCache::instance初始化启动缓存配置
empty($conf) && $conf = Yii::$app->params['dht_cache_conf'];//加载配置文件
$this->init();//初始化节点配置
3)run($key, $callback, $params = [], $expire = 0)
//执行缓存计划
$res = $cache->run($cacheKey, function($id, $params) {
header('From-Cache: no');
return parent::runAction($id, $params);
}, [$id, $params], isset($conf['expire']) ? $conf['expire'] : 0);