PHPセッションでユーザーログインシステムを作成したところ、ユーザーはサイトに登録してログインし、別のことを行うことができます...
今、私はすべてのオンラインユーザーを取得するonline.phpを作成したいと考えています。私はほとんどすべてをグーグルで検索し、これをstackoverflowで検索して成功しませんでした。
さて、私は高性能で作成したいシステムについて説明したいと思います..ユーザーがログインすると、テーブルを更新するだけuser
です。lastlogin
これはタイムスタンプであり、online.php で * 時間間隔が 5 分未満のすべてのユーザーを選択します。この目的のために、ユーザーが各ページをロードするときにデータベースのこのタイムスタンプ フィールドを更新できlastlogin
ます。これには、ジョブを実行するための多くの mysql クエリのコストがかかります...その後、各ページのロードで更新する必要があります
UPDATE
user
setlast
=now()
それには多くのmysqlクエリがかかります。今、セッションを使用するなどの別の方法を探しているか、このリンクで見つけたものを探しています
「通常の解決策は、ユーザーが何かを行うたびに更新するテーブルにタイムスタンプを保存することです。最近のタイムスタンプ (たとえば 5 分) を持つユーザーはログイン済みとして表示され、それ以外のユーザーはログアウトされます。
ページが読み込まれるたびに更新する必要さえありません。最終更新時刻のタイムスタンプもセッションに保持し、データベース フラグの有効期限が近づいている場合にのみテーブルを更新してください。」
残念ながら、答えはあまり役に立ちませんでした。これについて例を挙げたり、説明したりする必要があります。