В CakePHP кэширование элементов ничего не делает - PullRequest
2 голосов
/ 07 ноября 2010

Наше программное обеспечение использует следующий метод для кэширования элементов в приложении cakePHP:

Пример кода:

<?php echo $this->element('cities-index', array('Cache' => array('time' => "12 hours")));?>

Исходя из документации, это должно работать очень хорошо.

Я выделил это утверждение как основную причину медленной загрузки нашей веб-страницы (эта операция стоит нам 0,2 с на выполнение страницы), и я обнаружил, что кэширование абсолютно ничего не делает.

Кэширование включено в core.php и установлено в файл, и папка app / tmp имеет необходимые разрешения.Мы тщательно просмотрели документы для cakePHP и оказались в тупике.

Мы будем благодарны за любую помощь, спасибо!

Ответы [ 3 ]

1 голос
/ 12 марта 2011

Строчный 'кеш' '+ 12 часов' вместо '12 часов' Добавил ключ

$this->element('cities-index', array('cache' => array('key'=>'cities-cache','time' => '+12 hour')));

Ник сначала опубликовал правильный ответ, но в комментарии к исходному сообщению.Это могло остаться незамеченным.

0 голосов
/ 11 марта 2011

Каков уровень вашей отладки? Определенный уровень отладки (1 или 2 - я не помню) отключит кеширование.

Это также может варьироваться в зависимости от CakePHP 1.2.x и 1.3.x - поэтому знайте, какая версия также будет полезна.

0 голосов
/ 08 ноября 2010

Я не знаю, какова ваша конфигурация кэша, но для меня кэширование элементов не означает, что вы кэшируете вызовы контроллера и моделей (где я думаю, что это настоящее узкое место). Попробуйте кэшировать вызовы базы данных, и, вероятно, ваше приложение станет быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...