Rubyを使い始めましたが、Sinatraで遊んでいますが、リクエスト間でデータベース接続を共有する方法が見つかりませんでした。ルビーのデータベース接続プーリング
私はJava Web開発から来て、あなたがしなければならない基本的なことの1つは、データベース接続をプールすることです。だから、Rubyに類似のものが存在すると確信しています。
ActiveRecordとDataMapperがこの機能を提供しますが、ORMは必要なく、通常のSQLクエリを作成したいだけです。
Sinatraにはいくつかのアプローチがありますか、またはすべてのRackベースのアプリケーションに一般的な方法がありますか?
申し訳ありませんが、インスタンス変数を作成した場合は、アプリケーションオブジェクトが作成されるたびに新しい接続も作成されます。 どうやって接続を共有するのか? – Nikoi
アプリケーションを手動で閉じるまで、アプリケーションは要求間で閉じられません。アプリケーションはロードされ、要求に応答し、その存続期間にわたって接続を維持します。それは私がRubyの接続プーリングについて知っている最高のものです。 –
[Sequel](http://sequel.rubyforge.org)、[DataMapper](http://datamapper.org)、または[ActiveRecord](http://)のようなORMなしで直接Mysql2を使用することは、 rubygems.org/gems/activerecord)。ほとんどの場合、これらは自動的にプールされます。あなたが "単にSQLクエリを実行している"場合、アプリケーションはすぐに混乱を招くでしょう。 Sequelは、クエリージェネレータが実際にはかなり良いので実際にそこに行かずにSQLに近づくための最良の選択です。 – tadman