Django缓存,天气网站每5分钟自动刷新缓存

时间:2015-05-22 04:46:12

标签: python django caching memcached

我有一个django天气网站,用于一个小型的本地社区,其中包含视图装饰缓存。目前缓存设置为每5分钟到期,此时下一个点击视图的人将被迫等待大约10秒钟,以便视图从多个web-services中提取数据。

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

我想设置一个cron作业来运行视图以刷新缓存,一旦视图运行它将替换旧缓存中的数据。理想情况下,我希望在加载新视图期间点击视图的用户只需获取旧的缓存数据,这样他们就不会看到额外的加载时间。

我确信使用django cache framework可以有一种优雅的方法。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用与johnny-cache类似的查询集缓存,并在新数据进入而不是每n分钟时使查询集到期。