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


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


 python


 gTest = {}

然后在 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

python flask sina-app-engine baidu-app-engine

长白山-辉夜 11 years, 6 months ago

@xelz 说得对

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

立花东风子 answered 11 years, 6 months ago

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

中二狂想曲 answered 11 years, 6 months ago

Your Answer