sql >> Database teknologi >  >> RDS >> Mysql

Tjek, hvilke brugere der er online

Den måde jeg gør det på er periodisk at pinge en speciel handler ved hjælp af AJAX (en gang i 30 sekunder). Det er en hel masse anmodninger, så i stedet for at opdatere online brugertabellen hver gang med sidste besøg, opdaterer jeg memcache. Jeg opdaterer kun databaseposten, når den er 5 minutter efter memcache-posten (du kan vælge en større eller mindre forsinkelse afhængigt af belastningen). Derefter fjerner et cron-job forældede poster fra onlinebrugertabellen.

For at kontrollere, om en bestemt bruger er online, tjekker jeg blot hans memcache-post. Fejlen er aldrig mere end 30 sekunder. Databasen er aldrig mere end 5 minutter bagud, så resultaterne fra databasen er også ret præcise.

Jeg bruger også disse periodiske anmodninger til at sende begivenheder til brugeren.



  1. MySQL optimering af kæmpe bord

  2. Opret en unik begrænsning med null-kolonner

  3. Bruger MariaDB

  4. Flere databaseforbindelser i Rails