我们有一个RoR应用程序,我们使用了一个全局变量。
当我们尝试来自多个浏览器的HTTP
个请求时,只需几秒钟即可获得nil
,再过几秒钟后,它会再次获得值。
不确定这里发生了什么,全局变量是在多个HTTP
请求之间共享的,还是由于在那里创建了延迟?
如果我获得有关全局变量的更多详细信息,将会更有帮助。
答案 0 :(得分:3)
再过几秒钟再次刷新它就会充满价值。
这可能与您等待几秒钟的事实无关。如果刷新浏览器时有任何问题,nginx会将您的请求转发给不同的 Ruby进程,而不是之前的请求。
全局变量只在同一个进程中是全局的 - 如果您正在运行2个Ruby进程,并且在第一个中设置一个全局变量,那么第二个将不会看到这个。
如果您真的想在多个进程之间共享数据,那么使用数据库是标准方法。