У меня есть веб-приложение php, где определенные данные изменяются еженедельно, но часто читаются очень часто.Лучшая техника для кэширования результатов запросов, которые редко меняются
SQL-запросы, которые извлекают данные и код php для вывода html, довольно сложны. Существует несколько табличных объединений и многочисленные вычисления, но они приводят к довольно простой таблице html. Пользователи сгруппированы, а таблица одинакова для каждой группы каждую неделю, но различна для разных групп. Я могу потенциально иметь сотни таблиц для тысяч пользователей.
По соображениям производительности я хотел бы кэшировать эти данные. Вместо того, чтобы запускать эти запросы и вычисления каждый раз, когда кто-то попадает на страницу, я хочу запустить недельный процесс для создания таблицы для каждой группы, дающей мне простое чтение, когда это необходимо.
Мне было бы интересно узнать, какие методы вы использовали успешно или безуспешно, чтобы достичь чего-то подобного?
Параметры можно увидеть, включают:
- Сохранение HTML результат вычислений в таблице MySQL, которые были определены группы пользователей
- Хранение результирующие данные в таблице MySQL, которые были определены группы пользователей (сложно поскольку нет никакого фиксированного числа элементов данных)
- Кэширование вывода страницы в статических файлах
Любые другие предложения будут приветствоваться!
Некоторые замечательные предложения, спасибо. – Damovisa
Хороший список предложений здесь. Обратите внимание, что кэширование запросов MySQL не является полным исправлением - у него есть преимущества и недостатки (это может ухудшить часто обновляемые данные). Как это предлагает Assaf, это лишь один из многих вариантов. – thomasrutter