Python 强制django缓存更新

Python 强制django缓存更新,python,django,caching,Python,Django,Caching,我有一个带有页面层次结构的站点,它显示基于数据库中存储的值的复杂计算的表。该数据库可以由外部应用程序更新。在长时间的计算过程中,我更喜欢使用每页缓存来显示使用DatabaseCache的结果页。在外部更新数据库之后,我可以清除缓存,但我想刷新它,在用户访问之前创建一个新的缓存,假设用户只看到下一个缓存版本。 Django中是否有任何方法可以强制外部应用程序刷新缓存? 我想到的只是从外部应用程序调用一些Django代码,在缓存删除后,外部应用程序将逐个调用所有页面URL。。 不管怎样,我都将非常感

我有一个带有页面层次结构的站点,它显示基于数据库中存储的值的复杂计算的表。该数据库可以由外部应用程序更新。在长时间的计算过程中,我更喜欢使用每页缓存来显示使用DatabaseCache的结果页。在外部更新数据库之后,我可以清除缓存,但我想刷新它,在用户访问之前创建一个新的缓存,假设用户只看到下一个缓存版本。 Django中是否有任何方法可以强制外部应用程序刷新缓存? 我想到的只是从外部应用程序调用一些Django代码,在缓存删除后,外部应用程序将逐个调用所有页面URL。。
不管怎样,我都将非常感谢您的建议

在您可以执行的外部脚本中

import django
from django.core.cache import cache

django.setup() # Needed to make django ready from the external script
cache.clear() # Flush all the old cache entry.

在外部脚本中,您可以执行以下操作

import django
from django.core.cache import cache

django.setup() # Needed to make django ready from the external script
cache.clear() # Flush all the old cache entry.

现在我使用manage.py调用外部脚本以这种方式清除缓存。这个脚本由外部应用程序调用,但我需要在此之后创建新缓存…我的意思是,在您的外部脚本中,您执行django.setup。在这里,您可以在外部脚本缓存上执行任何需要的操作。清除这样,在外部脚本完成后,缓存将始终处于清除状态。您不必重新创建新的缓存,django将在收到请求后立即自动填充缓存。现在,我正在使用manage.py调用外部脚本以这种方式清除缓存。这个脚本由外部应用程序调用,但我需要在此之后创建新缓存…我的意思是,在您的外部脚本中,您执行django.setup。在这里,您可以在外部脚本缓存上执行任何需要的操作。清除这样,在外部脚本完成后,缓存将始终处于清除状态。您不必重新创建新的缓存,django将在收到请求后自动填充缓存