V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tabris17
V2EX  ›  问与答

Django 的 View 里直接读写全局变量安全么?

  •  
  •   tabris17 · 2016-07-22 09:29:38 +08:00 · 5167 次点击
    这是一个创建于 3028 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Django 有多线程运行模式么?
    因为之前有看到一些 django 的代码访问全局变量有线程同步的代码。
    5 条回复    2016-07-22 12:10:05 +08:00
    SErHo
        1
    SErHo  
       2016-07-22 09:32:16 +08:00   ❤️ 1
    这就要看用什么 web server 运行 django 了 , uwsgi 和 gunicorn 都支持多线程模式。
    awanabe
        2
    awanabe  
       2016-07-22 10:10:04 +08:00   ❤️ 1
    然后你只能启动一个 worker
    多个 workder 就是多进程了
    别用全局变量了,你要的全局变量 保存到 redis 吧, 最起码很多原子操作
    pixstone
        3
    pixstone  
       2016-07-22 10:12:29 +08:00   ❤️ 1
    配置进 settings , 业务数据进 redis 或者 DB
    julyclyde
        4
    julyclyde  
       2016-07-22 12:04:32 +08:00   ❤️ 1
    django 本身并不设计线程进程管理,那是 wsgi server 的工作
    注意如果是多进程模式,你那个全局变量的 scope 其实也就是在一个进程内吧
    Hstar
        5
    Hstar  
       2016-07-22 12:10:05 +08:00
    django 本身没有多进程,全局变量写进 Redis +1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1075 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:07 · PVG 03:07 · LAX 11:07 · JFK 14:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.