当使用Django的page_cache装饰器时,如何清除整个缓存
||
我有一个非常简单的网站,我在其中使用
page_cache
装饰器。
我有一个cronjob,用于检查新数据并对其进行处理(如果有)。
(这是使用通过crontab执行的管理命令运行的)
然后,我想在处理新数据时清除所有页面缓存。
我在这里查看文档:
https://docs.djangoproject.com/en/stable/topics/cache/
并发现cache.clear()
,这似乎是我想要的。
我在数据处理部分添加了一个标志,并在发现新数据时执行cache.clear()
。
但是,命令运行后不会清除缓存。
(我已经清除了缓存的浏览器,并检查了它是否不是浏览器)
ѭ1不能用于清除所有缓存的页面吗?
我正在使用DatabaseCache
,所以我想我可以手动进入并清除缓存表,但是还有更好的方法吗?
没有找到相关结果
已邀请:
3 个回复
抢垢洛韧
语句之后,SQLite缓存需要调用
。 自从正式支持作为1.3的一部分被添加到内核之前,我就一直在使用多个缓存,因此对多个缓存调用(包括
)进行了包装,因此我能够覆盖此方法并包括
。我想我应该将其记录为错误。 这是我用来刷新内存缓存((10ѭ中的默认缓存)和存储在
数据库的
中的数据库缓存的代码的概述。
而不是像我那样懒惰和硬编码,应该很容易从
和
中获取值。
翰冒绢县
这只是确保事务得到落实。
旦彤
控制台调用ѭ1and,然后手动检查数据库缓存内容。如果那行得通,那么发现新数据时也许不会调用您的“ 1”。 了解幕后情况的最简单方法是将
放在
函数的开头,然后运行调试服务器并等待,然后一些代码调用此func,您将能够逐步执行它的代码,或者您只会看到未按预期调用此函子。