1 秒あたりのリクエスト数が多い Web サーバーがあります。データベースとの I/O のパフォーマンスを最適化するために、サーバーは現在、HTTP クエリによって 2 つの SQL クエリのみを実行します。
- 現在のユーザーを取得するためのクエリが 1 つあります。
- リソースを読み書きするためのクエリが 1 つあります。
そして、セッション変数内に現在のユーザーのIDもキャッシュするのが賢明ではないかどうか、現在疑問に思っています。このように、サーバーは HTTP クエリによって 1 つの SQL クエリのみを実行できます。
そのためには、クライアントはアプリで自分自身を認証する必要があります。次に、SQL クエリがユーザー名とパスワードをチェックした後、サーバーは自分の ID をセッション変数に保存できます。この後、不要な SQL クエリを削除できます。
これは非常にシンプルで便利なように思えますが、Devise gem (Rails または Sinatra 用) などの一般的な認証プラグインがこのように機能しないように見えるのはなぜでしょうか。
それらはそうするための最良の方法ですか?についてどう思いますか?
アイデアをありがとう。