sql >> Databáze >  >> RDS >> Mysql

Zkontrolujte, kteří uživatelé jsou online

Způsob, jakým to dělám, je periodicky pingovat speciální handler pomocí AJAX (jednou za 30 sekund). To je spousta požadavků, takže místo aktualizace tabulky online uživatelů pokaždé s poslední návštěvou aktualizuji memcache. Záznam databáze aktualizuji pouze tehdy, když je 5 minut za záznamem memcache (můžete zvolit větší nebo menší zpoždění v závislosti na zatížení). Potom úloha cron odstraní zastaralé záznamy z online tabulky uživatelů.

Pro kontrolu, zda je konkrétní uživatel online, jednoduše zkontroluji jeho záznam memcache. Chyba není nikdy delší než 30 sekund. Databáze není nikdy více než 5 minut pozadu, takže výsledky z databáze jsou také docela přesné.

Tyto pravidelné požadavky také používám k odesílání událostí uživateli.



  1. Inicializace databáze Spring Boot MySQLException pro Trigger

  2. sql dotaz s příkazem if

  3. Jak přidám podmínky do podřízených podřízených modelů v sequelize, které by měly ovlivnit můj nadřazený model v findAndCountAll?

  4. Jak nastavit řazení pro připojení v SQL Server?