2012-11-01 10 views
8

abläuft Ich entwickle Anwendung, die Flasche verwendet. In meinem Anmeldeformular bestätige ich die E-Mail per Mail mit einem eindeutigen Schlüssel. Ich speichere diesen Schlüssel in REDIS mit Ablauf von 4 Tagen. Wenn der Benutzer die E-Mail nicht innerhalb von 4 Tagen bestätigt, wird der Schlüssel ungültig. Dazu möchte ich den Benutzereintrag endgültig aus meiner Datenbank löschen (mongoDB).Wie man Rückruf erhält, wenn Schlüssel in REDIS

Natürlich brauche ich keine kontinuierliche Abfrage zu meinem Redis-Server, um zu überprüfen, ob der Schlüssel existiert oder nicht.

Gibt es eine Möglichkeit, einen Rückruf von Redis zu bekommen?

ODER gibt es einen anderen effizienten Weg?

+0

Bitte siehe [Mitteilung der Schlüssel Ablauf in redis Python] (http://stackoverflow.com/questions/23964548/notification-of-key -expiration-in-redisive-python) für eine aktuelle Antwort. –

Antwort

9

Es gibt keine solche Rückrufe in Redis (nicht, dass ich weiß).

Ich würde es tun, wie folgt:

  • wenn Nutzer sich, put his id into a sorted set wo die Partitur einen Zeitstempel ist (jetzt + 4 Tage) und Mitglied ist Benutzer-ID.
  • haben einen periodischen Job, der alle Datensätze aus dieser sortierten Menge erhält, in denen der Zeitstempel in der Vergangenheit liegt.
  • Schleife durch diese Benutzer-IDs und Maßnahmen ergreifen (wenn er nicht bestätigt - löschen Sie alle Benutzerdaten).
+1

Weitere Informationen in http://stackoverflow.com/questions/11810020/how-to-handle-session-expire-basing-redis/11815594#11815594 –

+0

Große Technik, etwas, das ich kopieren werde, wenn Sie nichts dagegen haben^_ ^ –

Verwandte Themen