Man*_*ava 23 ruby ruby-on-rails ruby-on-rails-3
为什么我们要避免在rails中使用类变量@@?这有什么安全漏洞吗?请回答,因为我是新的rails.而我正在使用实例变量@variable_name.我试过一次@@variable_name.
我只知道类变量是,类变量在对象之间是可共享的
但我真的想知道 为什么我们要避免在rails中使用类变量@@?
edg*_*ner 47
仅仅因为它们不是线程安全的.许多rails =有能力的服务器是多线程的.这意味着在任何给定时间可能有多个运行的应用程序实例,并且您的一个用户的任何请求将被任意分配给其中一个.类变量不在进程之间共享,因此在后续请求中您的类变量可能会有所不同.
即使您故意设法在单线程服务器中运行您的应用程序,也无法保证您的应用程序不会在请求之间重新启动,从而丢失您的类变量.
如果您想要类似于类变量提供的功能,我强烈建议您查看键值存储,例如Memcached或Redis.
| 归档时间: |
|
| 查看次数: |
11087 次 |
| 最近记录: |