Кэширование данных в PHP
Я разрабатываю сайт на PHP, на котором есть несколько сложных SQL-запросов, и я хотел бы реализовать функцию кэширования, чтобы уменьшить нагрузку на базу данных.
Мне просто интересно, было бы лучше писать и читать HTML непосредственно в файл или, возможно, создать что-то вроде файла YAML с разделителем для разделения записей, а затем обернуть его в HTML с помощью функции?
Я думаю, что это позволит применять пользовательские параметры (например, количество отображаемых записей) к просьба.
Любые советы/предложения приветствуются.
Спасибо.
4 answers
Используйте любой из них для кэширования бэкэндов:
И использовать Zend_Cache для единого интерфейса к ним
Следует ли использовать полное или частичное кэширование страницы, зависит от ваших конкретных вариантов использования. Как правило, ваше приложение будет иметь смесь того и другого.
Вы можете реализовать кэширование в нескольких местах вашего приложения:
- вы можете реализовать условный GET (ETag и последние измененные заголовки HTTP)
- выполните кэширование данных с помощью упомянутых решений (Cache_Lite, Zend_Cache -кэш, APC) с несколькими бэкэндами (файл, memcached, общая память)
- вы можете кэшировать файлы шаблонов, как вы сказали ( Умный)
Возможно, вы захотите взглянуть на кэш Zend
http://framework.zend.com/manual/de/zend.cache.html
Обычно я где-то храню результат SQL-запросов (в зависимости от того, что вы ищете, т.Е. Иногда кэширую его в $_SESSION ok (данные, связанные с пользователем), иногда нет (большие наборы результатов для запросов, не зависящих от пользователя), а затем мой класс просто проверяет, существует ли кэш, и продолжает соответственно.