0

Web アプリ用に独自のセッション ハンドラーを設計しています。セッションの継続時間を制御しようとすると、PHP セッションが制限されすぎます。

とにかく、私の最初のテストは次のようなものでした: session_id は mysql 行と cookie に保存され、同じ mysql 行に残りのセッション変数が保存されます。

サーバーへのすべてのリクエストでクエリを作成し、これらの変数を取得して配列に配置し、実行時に必要なものを使用します。

昨夜、ログイン段階で一度サーバー ファイルに vars を書き込んで、後でリクエストごとに mysql クエリを作成する代わりにそのファイルを含めることができるかどうかを考えていました。

だから、私の質問は次のとおりです。リソースの消費が少ないのはどれですか? mysqlまたはファイルでこれを行いますか?

私は知っています、私は知っています、私はすでにこの問題についてstackoverflowでいくつかのスレッドを読んでいますが、私はそれらすべてのケースとは何か違うことがあります(何かを見逃さなかったことを願っています):

ユーザーが最後にアプリを使用してから経過した時間を追跡する必要があるため、サーバーへのすべての呼び出しで、データベース行全体を要求するだけでなく、同じ行のタイムスタンプも更新します。

したがって、どちらの場合も、リクエストごとにセッションに書き込む必要があります...

参考: アプリ全体が 1 つのサーバーで実行されるため、ファイルを使用する場合の複数のサーバーのシナリオは適用されません。

4

1 に答える 1

0

データベースで行うと作業が簡単になり、主にスケーラビリティのためにデータベースでセッションを使用してきました。

MySQL は適切に構成された MySQL サーバーを使用して一時メモリにセッションを保存できるため、MySQL を使用できます。すべてのセッションをメモリ内に保存できる場合は、メモリ テーブルを使用して物事を固定することもできます。メモリの上限に近づいた場合は、通常のテーブルに簡単に切り替えることができます。

MySQL は、中規模から大規模のサイトのパフォーマンス、およびカスタマイズ/オプションの点でファイルに勝っていると思います。小規模な Web サイトの場合、それほど大きな違いはないと思いますが、ファイルを使用する場合は、より多くのハード ドライブを使用することになります。

于 2012-08-30T20:08:11.853 に答える