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

沙鲁要吃人
  • 808

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

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

回复
阅读 3.4k
2 个回答
✓ 已被采纳

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

@xelz 说得对

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

宣传栏