我正在尝试通过利用 CakePHP 2.1 中新的 HTTP 缓存功能来加速我的网站:
class ArticlesController extends AppController {
public function view($id) {
$article = $this->Article->find(
'first',
array('conditions' => array('Article.id' => $id))
);
$this->response->modified($article['Article']['modified']);
$this->set(compact('article'));
}
}
缓存工作正常,但不区分不同的用户(即,如果用户登录并访问已经缓存的页面,则显示先前缓存的页面,并且不显示用户特定的内容)。我希望发生以下情况之一:
- 缓存区分不同的用户,并为每个用户存储单独的缓存
- 如果用户登录,缓存将被禁用(用户登录仅用于管理目的)
我试过添加
if (AuthComponent::user('id')) {
$this->disableCache();
}
但这似乎并不能解决问题
有谁知道如何让它工作,或者我做错了什么?