Лучший метод кеширования Zend Framework - PullRequest
1 голос
/ 15 июня 2010

У меня есть блог, построенный с использованием Zend Framework, который, как я понимаю, может быть немного излишним для одного блога, но я планирую добавить другие функции в будущем.Тем не менее, я заметил, что страницы могут быть немного быстрее.Я сделал основной метод кэширования, который в основном захватывает все в index.php (Core frontend и File backend), который прекрасно работает, но, к сожалению, он также препятствует обновлению динамического содержимого страницы (сообщения типа «это было опубликовано 5 минут назад»,и т. д.) до тех пор, пока не закончится период кеширования.

Итак, мой вопрос: какой метод кэширования будет лучшим для повышения производительности?Я делаю довольно простые запросы, которые в основном представляют собой простые выборки, не так много объединений или чего-либо необычного (используя Zend_Db_Table), и даже на небольших страницах базы данных загрузка немного вялая.Стоит ли кешировать запросы или я должен сосредоточить свое время в другом месте?

Ответы [ 2 ]

1 голос
/ 15 июня 2010

Чтобы включить вид динамического рендеринга («опубликовано X минут назад»), вы можете продвинуть кеширование немного дальше по потоку. Не кешируйте вывод html, просто кешируйте данные, полученные из запроса. Тогда ваш код рендеринга все еще имеет доступ к дате публикации data , и ваш код рендеринга может использовать его.

Конечно, @zerkms прав. Профилирование необходимо для выявления узких мест.

0 голосов
/ 15 июня 2010

Кэширование может быть реализовано в будущем, если текущая производительность удовлетворительная.Мои советы:

  • сначала оптимизируйте внешний интерфейс (сожмите CSS, JS, объедините в один файл, избегайте множественных запросов, см. Правила Yahoo по производительности)
  • используйте кэш кода операции
  • в ZF уже есть бэкэнд страницы для кэширования целых страниц (вы настроили его в index.php)
  • , если приведенного выше недостаточно, профилируйте ваше приложение (например, используя ZFDebug) и посмотрите, чтопроблема.Затем выберите правильный инструмент для работы.
  • см. Мой ответ для Zend_Cache_Backend_Sqlite vs Zend_Cache_Backend_File
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...