Ich schreibe eine Web-App, die im Grunde Facebook-Events ist, aber mehr improvisiert und in Echtzeit. Ein Benutzer kann ein Ereignis erstellen, und andere Online-Benutzer in dem Bereich (30-Meilen-Radius) sollten das Ereignis sofort sehen. Benutzer können sich für Ereignisse anmelden, und der Gastgeber sollte die Einladungen sehen. Der Gastgeber kann die Veranstaltung absagen und alle Teilnehmer sollten benachrichtigt werden. Kein langes Polling oder Auffrischen ist notwendig, und ich werde wahrscheinlich Webstöcke (socket.io) verwendenIst mein Anwendungsfall für Redis geeignet?
Dieses Konzept ist einfach zu beschreiben, aber ich habe Kopfschmerzen bekommen, nur darüber nachzudenken, wie genau das umgesetzt werden kann. Vor allem, wenn ein Benutzer mehrere Sitzungen hat.
Redis hat meine Aufmerksamkeit vor kurzem erfasst. Kann ich Vorschläge zu meinem Implementierungsplan erhalten, um sicherzugehen, dass ich keinen verrückten Weg gehe?
- Ich verfolge die Standorte von eingeloggten Benutzern in Redis.
- Benutzer erstellt Ereignis und ich speichere es in Redis.
- Ich finde alle Benutzer, die im Umkreis von 30 Meilen von Ereignis sind, und benachrichtigen sie durch socket.io
- Der Host und die Benutzer, die sich für Ereignis anmelden, werden in Redis pub/sub für jede Art von Benachrichtigungen eingegeben.
- Sobald Veranstaltung ist vorbei, i-Ereignis von Redis und speichern in MySQL entfernen
Ist meine Implementierung machbar? Macht es Sinn, Redis hier zu verwenden?
Danke für die ausführliche Antwort. –