我有一个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中有一种很好的方法可以做到这一点。
发布于 2015-05-22 05:10:19
您可以尝试使用与约翰尼缓存类似的查询集缓存,并在新数据出现时终止查询集,而不是每n分钟一次。
https://stackoverflow.com/questions/30388541
复制相似问题