Speichern von Zeitreihen in redis

8

Ich muss einige Zeitreihendaten in redis speichern. Ich habe Unix-Zeitstempel und das muss ich einen Wert zuordnen (Zeitstempel & lt; - & gt; -Wert)

Ich habe versucht, sortierte Mengen mit dem Zeitstempel als Ergebnis (so dass ich zrange auf die Zeitstempel tun kann) und den Wert als Mitglied.

%Vor%

Aber ich habe ein Problem, Mitglieder sind nicht wiederholbar, während meine Werte für verschiedene Zeitstempel gleich sein können. Irgendeine Idee, wie man das angeht? Ist ein anderer Datentyp besser?

    
maephisto 21.02.2014, 11:20
quelle

2 Antworten

13

Ein einfacher Trick, um dieses Problem zu lösen, besteht darin, den Zeitstempel und den Wert zu verketten.

Anstatt zu speichern:

%Vor%

Sie können speichern:

%Vor%

Bis zu der Anwendung, um den Wert zu verschlüsseln / zu analysieren: timestamp format.

Sortierte Sets werden als eine Skip-Liste plus eine Hash-Tabelle implementiert, so dass sie im Speicher nicht besonders kompakt sind. Wenn das Volumen Ihrer Daten signifikant ist, können Sie besser mit einer anderen Lösung umgehen.

Einige Leute verwenden normale Strings, um Zeitreihen zu codieren, die viel kompakter sind als sortierte Mengen. Hier finden Sie ein Beispiel: Ссылка

    
Didier Spezia 21.02.2014, 17:52
quelle
1

Es ist ein sortierter Satz , also kann sich der Wert nicht wiederholen. Redis ist möglicherweise nicht das beste Tool für Ihre Verwendung. Versuchen Sie es mit einer speziellen Datenbank wie influxdb .

    
FGRibreau 21.02.2014 13:21
quelle

Tags und Links