缓存框架看起来非常棒,我想在整个站点使用它。我宁愿无限期地缓存它们,并且仅在内容更改时使缓存无效/删除,而不是为我的视图设置明确的到期时间。梦幻般的场景,对吧?
是否有某种方法可以连接到 Django 的自动管理,以便在发生 CRUD 操作时相关缓存被删除?我希望我必须以某种方式告诉管理面板哪个模型应该使哪个类无效,但原则上,这可能吗?我可以添加某种回调吗?有什么替代方案吗?
谢谢! 马特
分两部分回答:
清除 CRUD 事件的缓存?简单易行 — 使用 Django 信号。
仅清除缓存的相关部分?这确实是一个难题。从表面上看,它可能看起来很简单,但除了最微不足道的情况外,所有依赖关系都很难辨别。
总而言之,我认为这是又一个“过早优化”的情况,而且目前还不清楚它是否有任何区别。下次我会等到出现经过验证的、可测量的性能问题后再做这样的事情。