Ich möchte nur einen Ansatz zum Erstellen einer Datenbank mit Live-Aufzeichnungen, also nicht nur Downvote. Ich erwarte keinen Code.Erstellen einer Live-Datenbank (Ansatz)
Im Moment habe ich eine MySql-Datenbank mit etwa zweitausend Benutzern, sie werden aber mehr. Jeder Spieler/Benutzer hat mehrere Punkte, die durch bestimmte Aktionen zu- oder abnehmen.
Mein Ziel ist es, dass diese Datenbank in jeder Sekunde und den Benutzer mit mehr Punkten nach oben und andere nach unten zu bewegen ... und so weiter
Meine Frage ist, aufgefrischt über bekommt, was ist der beste Ansatz für diese „live Datenbank ", wo Datensätze jede Sekunde aktualisiert werden müssen. In MySql kann ich zeitbasierte Aktionen ausführen, die einen SQL-Befehl ausführen, aber das ist nicht der beste Weg, denke ich. Kann jemand einen guten Weg vorschlagen, damit umzugehen? Z.B. andere Datenbankanbieter wie MongoDB oder irgendetwas anderes?
EDIT
Dies gilt nicht Client-Seite arbeiten, so kann ich es in die databse aufgrund einiger Zeit basierte Ereignisse nicht einfach drücken/schreiben. Zur Erklärung: Ein Benutzer trainiert seinen Charakter in der Anwendung. Dieses Training (um 1 Level zu erreichen) dauert 12 Stunden. Nach Ablauf der Zeit sollte der Datensatz AUTOMATISCH in der Datenbank aktualisiert werden. Auch wenn der Benutzer keine Beitragsanfrage von sich selbst sendet (wenn der Benutzer nicht angemeldet ist), sollten andere Benutzer die aktualisierten Daten in seinem Profil sehen.
Wenn eine Aktion eines Spielers auftritt, speichern Sie sie in Ihrer Tabelle. Um eine Live-Ansicht Ihrer Daten zu erhalten, führen Sie jedes Mal eine spezifische Abfrage durch, wenn Sie Ihre GUI aktualisieren möchten. –
Nein, das ist nicht so einfach, da bestimmte Aufgaben etwa 1 oder mehr Tage benötigen. Ich kann sie nur auf den Server pushen/posten, wenn sich der Benutzer anmeldet und es kann sein, dass ein Ereignis einen Tag dauert, aber er meldet sich nach einer Woche an und in dieser Zeit gibt es keine Aktualisierung des Datensatzes. @juergend – Anokrize
Sie können jquery ajax für diesen Zweck verwenden –