使用Django设置缓存时间戳

时间:2014-10-08 00:15:23

标签: python django django-settings

我想使用Django设置无限期地存储一个值。此值将在服务器进程的整个生命周期内更改,不应忘记。看,我想要做的是在我的服务器的文件系统上生成一个静态文件,并将其生成时间存储在django.conf.settings中。

我非常清楚fcgi服务器重启后所有设置都会丢失,这没关系。但是,我看到的行为(和问题)是设置每隔一段时间重置一次。我无法确定它被重置的原因,似乎相当随机。

有没有人知道Django是否经常重置其设置?或者我应该在逻辑中寻找错误?如何实现我想要的另一种方式呢?这可能与以线程模式运行fcgi服务器有关吗?

我可能最终将时间戳写入文件系统,我们将看到......

PS:当我使用Django的本地lighttp服务器时,我的代码按预期工作。

PPS: Django的缓存框架可能是获得我想要的聪明方式,但此时我无法使用它:(< / p>

1 个答案:

答案 0 :(得分:0)

所以对这个问题的简短回答:不要将全局运行时数据存储在Django的设置中。每个新的流程线程都会创建自己的设置实例,这意味着您的应用程序在每个线程中的行为都不同,或者您必须以单线程模式运行您的应用程序(对性能不利)。

如果您需要存储此类数据,请使用Django缓存框架,数据库或文件系统。