Ich führe eine Analyse in einem Datenstrom durch und veröffentliche die Ergebnisse auf einem Redis-Kanal. Verbraucher abonnieren diese Kanäle und erhalten Echtzeit-Datenfeeds. Alle historischen Datenanalyseergebnisse gehen verloren.
Jetzt möchte ich die Möglichkeit hinzufügen, historische Daten in Redis zu speichern, so dass Verbraucher diese historischen Daten (hauptsächlich nach Zeit) abfragen können. Da die Analyseergebnisse nach Zeit unterteilt sind, was wäre ein gutes Design, um die Ergebnisse in Redis zu speichern?
Verwenden Sie redis sortierte Sets .
Sortierte Sets speichern Daten basierend auf "Scores". Verwenden Sie in diesem Fall einfach einen Zeitstempel in Millis; Die Daten werden automatisch sortiert, so dass Sie historische Elemente mit Start- / Enddatumsbereichen abrufen können, hier ein Beispiel ...
Elemente zu einer sortierten Menge hinzufügen ...
%Vor%.. fügen Sie einige Beispieldaten hinzu.
%Vor%.. rufen Sie eine Teilmenge von Elementen ab, indem Sie den Start- / Endbereich verwenden ...
%Vor%.. gibt zurück ...
%Vor%Wenn Sie in diesem Fall alle historischen Elemente für den letzten Tag abrufen möchten, tun Sie dies einfach ...
%Vor%Tags und Links database-design redis