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