1

代理でお願いしたいのですが、職場の別のチームがお客様から変更依頼を受けました。

問題は、顧客が従業員が 1 人のユーザーで同時に複数ログインすることを望んでいないことです。彼らがロックアウトされ、ログインを共有していること。

これは Web ファーム上にあるため、この問題に取り組む最善の方法は何でしょうか?

データベースへのキャッシュはパフォーマンスの問題を引き起こしませんか?

4

4 に答える 4

7

memcachedのような分散キャッシュ システムの使用を検討できます。

この問題はかなりうまく解決され (データベースよりもはるかに高速です)、他のほとんどすべてのものをキャッシュするのにも優れています。

于 2008-08-28T23:22:58.670 に答える
6

それは単にビジネスを行うためのコストです。

はい、データベースへのキャッシュは、Web サーバーでのキャッシュよりも遅くなります。ただし、その状態情報を一元化された場所に保存する必要があります。そうしないと、1 つの Web サーバーが別の Web サーバーにどのユーザーがログインしているかを知ることができません。

仮定: 1 人のユーザーによる複数の同時ログインを防止しようとしています。

于 2008-08-28T23:20:57.003 に答える
3

ログインおよびログアウト時のデータベース操作は、パフォーマンスの問題を引き起こしません。

  • キャッシング プロキシを使用している場合は、次のような問題が発生します。
  • ユーザーはログアウトしますが、ログアウトがキャッシュに到達するまで再度ログインすることはできません

あなたの最大の潜在的な問題は次のとおりです。

  • ユーザーがログアウトする機会なしにアプリ/ボックスがクラッシュした場合、データベース内のユーザーの状態は「ログイン済み」のままになります。
于 2008-08-29T00:10:00.053 に答える
1

認証方法によって異なります。最後に成功したログイン日時 (バックエンドに関係なく) を保存する場合は、スキーマを変更して "logged_in" フラグを保存することができ、追加のパフォーマンス コストは発生しません。(まあ、全然きれいじゃない)

于 2008-08-28T23:36:37.373 に答える