Web 程序中的全局变量,有些问题想不通.

我创建了一个全局的字典.

pythongTest = {}

然后在 Web 的调用方法中操作这个字典.

python@app.route('/test', methods=['GET'])
def test():
    if "int" in gTest:
        ret = gTest["int"] = gTest["int"] + 1
    else:
        ret = gTest["int"] = 1
    return str(ret)

在本地测试,结果就是我期望的, 1,2,3,4,5,6...
但是放在 SAE / BAE 上返回值是不固定的, 1, 2, 3, 1, 2

阅读 4.2k
2 个回答

是因为后端是个集群吧,请求没落到同一台机器上

@xelz 说得对

在分布式的集群下, 极其不建议使用这种方式, 这种方式变得完全不可控, 建议根据平台特性选择一些合适的服务来实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题