Ich schreibe Laravel-Anwendung, wo ich aktuellen Benutzer alle anderen Benutzer auf der Seite zeigen möchten.Kann ich diese Art von Daten in Redis speichern?
Ich möchte Redis verwenden, um diese Art von Informationen zu speichern, so zum Beispiel, wenn der Benutzer 1
Besuche Seite /item/35
, dann Redis müssen diese Informationen speichern:
{'/item/35': {1: last_visit_time_in_seconds}}
Wo last_visit_time_in_seconds unixtimestamp ist.
Wenn zwei zusätzliche Benutzer besuchen gleiche Seite, dann würden Redis enthalten:
{'/item/35': {1: seconds}, {12: seconds}, {2425: seconds}}
Benutzer mit ids 1, 12 und 2425 sind jetzt dieser Seite sehen. Wenn für {1: seconds}
für eine kurze Zeit (wie 30 Sekunden) keine Updates vorhanden sind, muss dieser Artikel aus diesem Objektcache entfernt werden. Das Frontend aktualisiert regelmäßig den Status des Caches, dies ist also eine Schutzmaßnahme gegen das Schließen des Browserfensters.
Möglicherweise gibt es einen besseren Weg in Redis zu speichern/erhalten diese Art von Informationen (Karte von item
zu der Liste der Benutzer mit ihrer letzten Besuchszeit).
Google-Präsenz Kanäle und Websockets, würde es helfen, ich denke –
Info wird über Websockets sowieso geliefert. In Questiong wird erläutert, wie diese Informationen im Backend gespeichert werden. –