Эффективное хранение большой таблицы в кеше Django - PullRequest
0 голосов
/ 07 сентября 2011

Я использую Django с jqGrid и загружаю страницы через AJAX.Временами запросы очень сложны, и загрузка страниц происходит очень медленно, поскольку на дальних страницах гораздо медленнее (что и следовало ожидать, результаты часто превышают 100 тыс. Объектов).Я думал, что кэширование результатов решит проблему, добавив некоторое время к загрузке первой страницы, но затем сильно ускорив загрузку последующих страниц.

Вместо этого загрузка первой страницы была невероятно медленной идаже последующие страницы занимают много времени (11 секунд на стандартном ПК).Я использую серверный кеш locmem.Есть идеи?Для сравнения я попытался сохранить результаты в глобальном словаре, и это было ОЧЕНЬ лучше (последующие страницы занимают всего 1 с), но я слышал, что это небезопасный способ.

Есть идеи?

1 Ответ

0 голосов
/ 07 сентября 2011

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

Посмотрите на johnny-cache, который выполняет прозрачное кэширование наборов запросов.,Это может (я повторяю, может ) решить все ваши проблемы.

...