2015-05-22 2 views
0

У меня есть сайт погоды django для небольшого местного сообщества, в котором есть кеширование изображения. В настоящее время таймер истекает через каждые 5 минут, после чего следующий человек, попавший в представление, будет вынужден ждать около 10 секунд, чтобы представление вытащило данные из нескольких web-services.Кэш Django, кеш для автоматического обновления погоды каждые 5 минут

@cache_page(60 * 5) # cache for 5 minutes 
def weather(request): 
    # lot of calls to external sites 

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

Я уверен, что есть элегантный способ сделать это с помощью django cache framework.

ответ

0

Вы можете попытаться использовать кэширование запросов, похожее на то, что делает johnny-cache, и истекать запросы, когда новые данные поступают, а не каждые n минут.

+0

Я нашел это из ваших ключевых слов «кеширование запросов»: http://stackoverflow.com/questions/4631865/caching-query-results-in-django Я бы поднял вас, но у меня нет 15 репутации но ... Работая над этим, я вернусь к вам позже. –

Смежные вопросы