XML-кеширование в Django - PullRequest
       12

XML-кеширование в Django

1 голос
/ 30 марта 2012

Я действительно хотел бы использовать XML-фид, но у меня есть некоторые проблемы с производительностью. Фид XML - это, в основном, URL-адрес с параметрами, который возвращает XML.

Я открываю URL с помощью urllib.urlopen(URL) и анализирую ответ с помощью xml.dom.minidom.parse. Это дает мне объект DOM, чем я получаю связанные части.

Проблема в том, что мне приходится много раз открывать соединение для одного и того же URL, который возвращает точно такой же XML. Я бы хотел кешировать полученные XML-данные, чем перед тем, как открывать новое соединение, я хочу проверить, есть ли оно в памяти. Конечно, я должен очищать кэш каждый час или любым другим алгоритмом.

Тем не менее, я немного запутался, как я могу реализовать это в Django? Или у вас есть другие предложения по кэшированию?

Спасибо

1 Ответ

0 голосов
/ 23 апреля 2012
from django.core.cache import cache


myObject = cache.get("myObject")
if (myObject == None):
  myObject = getObject()
  cache.set("myObject", myObject, 60*60) # Will cache the object for 60*60 seconds.

Подробнее здесь: https://docs.djangoproject.com/en/1.4/topics/cache/#the-low-level-cache-api

...