【发布时间】:2010-04-21 07:02:32
【问题描述】:
我正在 Django 中寻找简单但推荐的方法来仅将变量存储在内存中。当 Apache 重新启动或 Django 开发服务器重新启动时,该变量将重置回 0。更具体地说,我想计算每个模型实例(数据库记录)上发生特定操作的次数,但出于性能原因,我不不想将这些计数存储在数据库中。我不在乎服务器重启后计数是否消失。但只要服务器启动,我希望这些计数在 Django shell 和 Web 界面之间保持一致,并且我希望能够返回每个模型实例上发生了多少次操作。
我不希望变量与用户或会话相关联,因为我可能希望在不登录的情况下返回这些计数(并且无论用户登录,我都希望计数保持一致)。我是在描述一个全局变量吗?如果是这样,我如何在 Django 中使用一个?我注意到像 urls.py、settings.py 和 models.py 这样的文件似乎在每次服务器启动时只被解析一次(相比之下,views.py 似乎在每次发出请求时都会被解析)。这是否意味着我应该在其中一个文件中声明我的变量?或者我应该以某种方式将它存储在模型属性中(只要它在服务器运行期间一直存在)?这可能是一个简单的问题,但我只是不确定它是如何在 Django 中完成的。
非常感谢任何 cmets 或建议。 谢谢, 乔
【问题讨论】:
-
缓存文档有点以“缓存页面”为中心。跳转到“低级”以了解将其用于服务器变量的详细信息:docs.djangoproject.com/en/1.3/topics/cache/…
标签: python django memory variables global