【问题标题】:Force django cache updating强制 Django 缓存更新
【发布时间】:2015-03-04 04:35:09
【问题描述】:

我有一个具有页面层次结构的网站,它显示基于数据库中存储的值的复杂计算的表格。该数据库可以由外部应用程序更新。在长时间的计算中,我更喜欢使用每页缓存来显示结果页面(我正在使用 DatabaseCache)。外部更新数据库后,我可以清除缓存,但我想在用户访问之前刷新它(而不是创建新的)(假设用户只会看到下一个缓存版本)。 Django中有什么方法可以通过外部应用程序强制刷新缓存吗? 想到只从外部应用程序调用一些 Django 代码,这将在缓存删除后一一调用所有页面 url。 无论如何都会感谢您的建议

【问题讨论】:

    标签: python django caching


    【解决方案1】:

    在你的外部脚本中你可以做

    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-invoking 外部脚本以这种方式清除缓存。该脚本由外部应用程序调用,但之后我需要创建新的缓存...
    • 我的意思是,在您的外部脚本中,您执行django.setup() # Here you do whatever you need on the external script cache.clear() 这样在您的外部脚本完成后缓存将始终被清除。您不必重新创建新的缓存,django 会在收到请求时自动填充缓存
    猜你喜欢
    • 2020-09-17
    • 2015-04-06
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多