PHP Лучший способ кэшировать результаты MySQL?

В настоящее время я создаю PHP-фреймворк (оригинальный, я знаю) и работаю над некоторыми функциями его оптимизации. Одна дилемма, с которой я столкнулся: как лучше всего кэшировать результаты MySQL? Я знаю, что некоторые люди скажут: сначала оптимизируйте свой MySQL и т. Д., Но, допустим, для аргументов, мой запрос занимает 1 минуту и ​​максимально оптимизирован.

Как лучше всего кэшировать результаты в PHP, чтобы мне не приходилось повторно запускать запрос при каждой загрузке страницы?

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

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

Есть ли другие (читайте: быстрее) способы кэширования медленных запросов для частого использования?

28
задан Ozzy 16 March 2011 в 15:00
поделиться