您可以在 varyByParam 参数中使用 get params 来生成每个操作的不同版本。
public function filters()
{
return array(
array(
'COutputCache + myAction',
'duration'=>1,
'varyByParam'=>array('my_get_param'),
),
);
}
其中 myAction 是控制器方法的路由名称,例如 actionMyAction()
然后将各种获取参数附加到您的请求中,每个唯一请求将单独缓存。