python - 在 Django 用户之间共享对象

标签 python django

<分区>

我有一个应用程序和一个数据库。该应用程序最初是在没有 django 的情况下用 python 编写的。问题似乎是它与数据库建立了太多连接,从而减慢了速度。我想要做的是加载将在 python 字典中使用的任何数据,然后与所有人共享该对象(类似于单调对象)。 django 似乎做的是每次发出新请求时创建一个新的应用程序实例。如何让它共享相同的加载数据?

最佳答案

与您的断言相反,Django 不会在每次请求时都重新初始化。实际上,Django 进程会处理许多请求,并且在模块级别定义的任何内容都将在该进程处理的所有请求之间共享。这通常是线程安全错误的原因,但在您的情况下正是您想要的。

当然,一个网站通常同时运行多个进程,并且不可能在它们之间共享对象。此外,由您的服务器决定产生多少进程以及何时回收它们。但是对于您的用例,每个进程一个对象实例化优于每个请求一个。

关于python - 在 Django 用户之间共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28292538/

相关文章:

Python 将字符串转换为字节

python - 强制 setup.py 使用我的自定义编译器

django - Django 持久数据库连接线程安全如何?

python - 如何将热图注释为子图?

python - sqlalchemy 关系隐式诱导连接

python - 我如何使用 python 的共享点(通过 soap?)?

python - 如何在将其推送到 github 之前在 django 中隐藏 google map api key ?

django - 将 django-crispy 表单上的字段水平对齐到页面中心?

django - Django 中的复选框输入验证

django - 来自 Django 的 Tornado DB 通知