私はでbetter-sqlite3を使用していますNode
が、私の質問はnode-sqlite3にも当てはまると思います。
サーバーでレンダリングされた Web サイトに関して、基本的に 2 つの簡単な質問があります。
.close()
データベースを明示的に呼び出す必要がありますか? 現在のスコープ(現在の関数など)が終了すると自動的に閉じることをどこかで読んだことを覚えているようです。.close()
大量のリクエストを受け取る Web サーバーのシナリオで呼び出しを行わない場合はどうなりますか?さまざまなコンポーネント (認証、承認、ローカリゼーション、支払いなど) が多数あり、各コンポーネントがリクエストの有効期間全体にわたってデータベースにアクセスする必要がある場合とそうでない場合があります (これらは非常に短期間ですが、例外を除きます)。支払い)、したほうがいいですか?
- サーバーの存続期間中に1つのdb接続を持ち、それを渡します
- リクエストの存続期間中に 1 つの db 接続を持ち、それを渡します
- 何かが必要になるたびに、おそらくリクエストごとに2〜3回、新しい接続を開きます(それが必要な場合は、関数が戻ったときに明示的または暗黙的に閉じます)
ありがとうございました