Я пытаюсь ускорить свой сайт, используя новые функции кэширования HTTP в CakePHP 2.1:
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();
}
Но, похоже, это не решает проблему
Кто-нибудь знает, как заставить это работать, или я делаю что-то в корне неправильно?