idegree
@idegree
Senior Workaround Developer

Как уменьшить количество запросов к базе данных?

Здравствуйте!

Использую для создания сайтов Python + Flask + SQL-Alchemy, и довольно часто возникает ситуация, когда layout (шаблон страниц, обычно хэдер + футер) содержит меню, отзывы клиентов и так далее.
Все эти вещи грузятся из базы данных, соответственно при каждом открытии какой-либо из страниц выполняются запросы для загрузки отзывов, комментариев, меню и прочего.

Подскажите как можно уменьшить количество запросов? Объединять в один, кешировать, может ещё что-то? Какими средствами можно этого достичь?
  • Вопрос задан
  • 3964 просмотра
Решения вопроса 1
benbor
@benbor
Помог ответ - не забудь лайкнуть
Сами ответили на свой вопрос. Используйте Кеш. Гуглите, ибо информации море, как и подходов. Если у Вас не Plain Python ( а судя по вопросу нет) то вы сможете что-то найти для вашего фреймворка готовое.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Oxoron
Шарпер
Есть еще Ajax, помогает обновить лишь часть страницы.
При открытии новой есть еще куки, там можно хранить часть инфы.
При обновлении можно отсылать серверу инфу о времени создания страницы timeCreation, возвращать только комментарии, написанные после timeCreation.
Ответ написан
dmnBrest
@dmnBrest
Salesforce for money. Python, Go, Ruby for soul.
Ajax плохо для SEO. Если хочешь сделать популярный сайт, который заметят поисковики, то никаких Ajax!!! Кеш отличный вариант. Можно и самому написать, если не хочется копаться в готовых решениях. Взять к примеру Redis и складывать туда информацию (готовые куски отрендеренных шаблонов). При загрузке страницы брать инфу из Redis, если ее там нет или она "протухла" то брать из базы и параллельно обновлять в Redis.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы