我有一个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
可以有一种优雅的方法。
答案 0 :(得分:1)
您可以尝试使用与johnny-cache类似的查询集缓存,并在新数据进入而不是每n分钟时使查询集到期。