2015-05-22 101 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 

我想建立一个cron作业,以刷新缓存,一旦观点已运行将在旧的缓存替换数据运行视图。理想情况下,我希望在加载新视图期间点击视图的用户只需获取旧的缓存数据,以免他们看到额外的加载时间。

我敢肯定,有一个优雅的方式来做到这一点与django cache framework

回答

0

您可以尝试使用类似于johnny-cache所做的查询集缓存,并且一旦有新数据进入而不是每n分钟就会过期查询集。

+0

我发现你的关键词“查询集缓存”:http://stackoverflow.com/questions/4631865/caching-query-results-in-django 我会upvote你,但我没有15声望然后......工作之后,我会尽快回复你。 –