Sinatra / Rails:在应用程序生命周期内保留自定义类实例

时间:2010-04-24 18:01:18

标签: ruby-on-rails sinatra application-lifecycle object-sharing

1 个答案:

答案 0 :(得分:2)

  

我可以断言rails / sinatra应用程序   仅初始化一次和所有请求   分享相同的应用实例?或做新的   请求生成新的应用程序实例?

一般情况下。这实际上取决于您的设置。如果您只使用重用相同应用程序对象的服务器(也就是Rack处理程序)运行进程,这将起作用。是否使用相同的应用程序实例取决于您使用的Web框架。例如,如果用作Rack端点,Sinatra会为每个请求创建一个新的应用程序类实例(通常为Sinatra::Application

  

是否可以实例自定义   在应用程序期间继续使用它们   终身不使用会话,   数据库存储或第三方   服务?如果是这样,那是什么   线程安全的含义   观点?

如果你真的想坚持上课,你可能需要像磁悬浮一样的东西。但是,我相信你的意思是持久化自定义类的实例。如果你不想使用数据库来保持持久性(你真的应该),你可以回到PStore,它附带Ruby。