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