django + memcached: проблема с лимитом в 1 мб - PullRequest
1 голос
/ 18 февраля 2010

Кто-нибудь знает о каких-либо решениях для хранения данных больше, чем 1 МБ в memcached?

Нет ничего страшного в том, чтобы вырезать большие данные до 1 Мбайт перед установкой и объединить их после получения из memcached.И этот алгоритм может работать прозрачно для пользователей.

Это может работать на основе этого фрагмента http://www.djangosnippets.org/snippets/488/

Ответы [ 4 ]

1 голос
/ 30 августа 2012

У меня была похожая проблема с кэшированием длинных списков с результатами QuerySet. MyModel.object.defer ('огромный_данный_фильм1', огромный_данных_фильтр2) помог исключить огромное количество данных из результатов и решил проблему для меня Надежда тоже поможет кому-то еще.

1 голос
/ 12 марта 2011

Вы проверили, помогает ли gzipping ваша карта сайта? Для меня это уменьшило мои карты сайта до 200 КБ, и теперь они отлично вписываются в memcached. И у ботов Sitemap в эти дни нет проблем с gzip.

1 голос
/ 18 февраля 2010

Вы можете попросить memcached увеличить потолок, но это довольно часто признак того, что вы делаете что-то не так.

В большинстве случаев, когда мы копаемся в том, что люди пытаются сделать с большимобъекты, они заглядывают в угол и начинают задавать вопросы типа «Хорошо, теперь как я могу запросить только часть этого объекта?»

Иногда существует законная потребность в более крупных объектах(поэтому мы поддерживаем это).

0 голосов
/ 03 апреля 2011

Вы можете настроить задание cron, которое получает карту сайта (созданную структурой карты сайта Django) и сохраняет ее в файл. Затем используйте этот файл как статический носитель (через nginx или apache, а не через django ofcourse ...)

curl -o /path-to-static-media/sitemap.xml http://yoursite.com/view-that-generates-sitemap/sitemap.xml
...