2024-06-11 16:04:28 发布
网友
我想知道Django应用程序中是否有“global counter”,就像我在Tomcat的Servlet上下文范围中存储“global counter”一样。在
有点像
getServletContext().getAttribute(“counter”); 计数器++
当您编写django应用程序(或任何wsgi应用程序)时,您事先不知道您的应用程序最终是在单个服务器上独立运行,还是在多个多线程、多处理,甚至在多个独立的机器上作为负载平衡策略的一部分运行。在
如果您要使约束“我的应用程序仅在单进程服务器上工作”,那么可以使用如下方法:
from django import settings settings.counter += 1
然而,这种限制通常是不可行的。所以你必须使用外部存储器。在
如果你想把它保存在内存中,也许是一个memcached
也许你只需要将请求记录到这个视图中。所以当你需要计数器时,只需计算日志中的条目数。在
日志可以是基于文件的,也可以是数据库中的一个表,只需在models.py上定义一个新模型。在
models.py
当您编写django应用程序(或任何wsgi应用程序)时,您事先不知道您的应用程序最终是在单个服务器上独立运行,还是在多个多线程、多处理,甚至在多个独立的机器上作为负载平衡策略的一部分运行。在
如果您要使约束“我的应用程序仅在单进程服务器上工作”,那么可以使用如下方法:
然而,这种限制通常是不可行的。所以你必须使用外部存储器。在
如果你想把它保存在内存中,也许是一个memcached
也许你只需要将请求记录到这个视图中。所以当你需要计数器时,只需计算日志中的条目数。在
日志可以是基于文件的,也可以是数据库中的一个表,只需在
models.py
上定义一个新模型。在相关问题 更多 >
编程相关推荐