缓存 Django 视图,直到更新数据库中的 table
Cache Django view until table in database is updated
到目前为止我有简单的解决方案:
@cache_page(60 * 60 * 24)
def myview()
效果很好。令我困扰的是,如果数据库中的 table 发生变化(有人上传数据),那么应该重新评估缓存的视图。此外,由于我很少且不定期地进行数据库更新,因此我想 不 指定 60 * 60 * 24 (每天一次),但除非数据库 table更改(或者可能整个数据库更改)。
我该怎么办?我确定有简单的解决方案。
这就是它的工作原理。为了使缓存无效,您可以在保存特定模型实例时使用信号清除特定缓存条目。
https://docs.djangoproject.com/en/1.8/topics/signals/
关于设置无限缓存,使用None
作为超时,它永远不会过期(Django 1.7+)。
到目前为止我有简单的解决方案:
@cache_page(60 * 60 * 24)
def myview()
效果很好。令我困扰的是,如果数据库中的 table 发生变化(有人上传数据),那么应该重新评估缓存的视图。此外,由于我很少且不定期地进行数据库更新,因此我想 不 指定 60 * 60 * 24 (每天一次),但除非数据库 table更改(或者可能整个数据库更改)。
我该怎么办?我确定有简单的解决方案。
这就是它的工作原理。为了使缓存无效,您可以在保存特定模型实例时使用信号清除特定缓存条目。
https://docs.djangoproject.com/en/1.8/topics/signals/
关于设置无限缓存,使用None
作为超时,它永远不会过期(Django 1.7+)。