Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann der Online-Status des Benutzers in PHP und MySQL effizient verfolgt werden?

Susan Sarandon
Freigeben: 2024-10-26 13:31:30
Original
958 Leute haben es durchsucht

How to Efficiently Track User Online Status in PHP and MySQL?

Bestimmen des Online-Status eines Benutzers in PHP und MySQL

Mithilfe der Sitzungsverfolgung zielt dieser Artikel darauf ab, eine effektive Methode zur Bestimmung des Online-Status eines Benutzers zu etablieren Präsenz.

Huckepack auf Sitzungen

Das Huckepack auf PHP-Sitzungen stellt zwar eine praktische Lösung dar, basiert jedoch auf Zeitstempeln und Zeitüberschreitungen. Um diese Einschränkungen zu vermeiden, untersuchen wir einen alternativen Ansatz, der sich auf die Verfolgung der Benutzeraktivität konzentriert.

Datenbankbasiertes Tracking

Erstellen Sie in der Tabelle „Benutzer“ Ihrer Datenbank eine „lastActiveTime „Feld, das den Zeitpunkt der letzten Interaktion eines Benutzers erfasst. Indem Sie dieses Feld kontinuierlich aktualisieren, können Sie den Online-Status eines Benutzers ermitteln, indem Sie nach Benutzern mit einer „lastActiveTime“ innerhalb eines bestimmten Zeitraums, z. B. der letzten fünf Minuten, suchen.

Zeitzonen vermeiden

Um den Vorgang zu vereinfachen, verwenden Sie die Zeit Ihres Servers (über die NOW()-Funktion von MySQL), anstatt zu versuchen, Zeitzonen zu berücksichtigen. Dieser Ansatz bietet eine zuverlässige Methode zur Verfolgung aktiver Benutzer in Echtzeit.

Ständige Updates

Wenn die Verfolgung kontinuierlicher Aktivitäten unerlässlich ist, können Sie ein JavaScript-Skript implementieren, das sendet jede Minute einen „Ping“ an Ihren Server. Dadurch werden Benutzeraktivitätsdatensätze aktualisiert, ohne dass ein ständiges Durchsuchen der Seite erforderlich ist.

Aktualisiertes Code-Snippet

Das folgende aktualisierte Code-Snippet nutzt Fetch und verspricht, die „Ping“-Anfragen zu verarbeiten:

<code class="javascript">(async function ping() {
    // Asynchronously call stillAlive.php
    await fetch("stillAlive.php");
    // Issue this call again in 60 seconds
    setTimeout(ping, 60_000);
}());</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann der Online-Status des Benutzers in PHP und MySQL effizient verfolgt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage