Кэширование данных в PHP

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

Мне просто интересно, было бы лучше писать и читать HTML напрямую в файл или создавать что-то вроде файла YAML с разделителем для разделения записей, а затем переносить его в HTML с помощью функции?

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

Любые советы / предложения оценены.

Благодарю.

Используйте любой из них для кэширования бэкэндов:

и использовать Zend_Cache для унифицированного интерфейса к ним

Использование кеширования полной страницы или частичного кэширования зависит от ваших конкретных UseCases. Обычно ваше приложение будет иметь сочетание обоих.

Хотя я никогда раньше не использовал его раньше, для кэширования есть пакет PEAR. Рассмотрите это среди других опций, таких как Zend_Cache.

Вы можете реализовать кэширование в нескольких местах приложения:

  • вы можете реализовать условные заголовки GET (ETag и Last-Modified HTTP)
  • кэширование данных с указанными решениями ( Cache_Lite , Zend_Cache , APC ) с несколькими бэкендами (файл, memcached , общая память)
  • вы можете кэшировать файлы шаблонов, как вы сказали ( Smarty )

Вы можете взглянуть на Zend Cache
http://framework.zend.com/manual/de/zend.cache.html

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