Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So exportieren Sie Redis-Schlüssel als CSV mit CLI

Häufig möchten Sie Daten aus Redis als CSV exportieren. Das redis-cli hat einen --csv Flag, aber es funktioniert nur, wenn Sie einen einzelnen Schlüssel exportieren möchten. Aber mit ein wenig Befehlszeilenmagie können Sie eine beliebige Anzahl von Schlüsseln im CSV-Format exportieren.

Dieses Skript exportiert die Felder ID, Anzeigename, Reputation und Standort für alle Hashes, die mit users:*

Verwendung von Scan-to-Select-Keys

Der erste Schritt besteht darin, redis-cli mit --scan zu verwenden und --pattern Flags, um die Schlüssel von Interesse auszuwählen. Um also Schlüssel auszuwählen, die zu Benutzern:* passen, führen Sie den Befehl redis-cli --scan --pattern users:* aus .

Beachten Sie, dass redis nur Muster im Glob-Stil zulässt. Also Benutzer:* entspricht users:1234 und auch mit users:1234:favorites übereinstimmen . Wenn Sie mehr Kontrolle wünschen, können Sie mit einem grep und einem regulären Ausdruck weitermachen.

redis-cli --scan --pattern Benutzer:* | grep -e '^Benutzer:[^:]*$'

Verwenden von AWK zum Ausführen von Redis-Befehlen

Für jeden ausgewählten Schlüssel müssen wir einen redis-Befehl ausführen, um die Daten für diesen Schlüssel abzurufen. In unserem Fall möchten wir Felder aus einem Hash abrufen, also verwenden wir den hmget Befehl. Der $0 im awk-Skript bezieht sich auf den Schlüssel, den wir zuvor mit scan ausgewählt haben.

Die Ausgabe des awk-Skripts wird an redis-cli geleitet. Jeder Befehl wird ausgeführt und die Ausgabe wird aufgrund des --csv als CSV zurückgegeben Flagge.

Anpassen dieses Skripts

  1. Wenn sich Ihr Redis-Server nicht auf localhost befindet, müssen Sie Host, Port und Passwort zweimal angeben im Befehl, im Grunde immer dann, wenn Sie redis-cli aufrufen.
  2. Sie können jeden Befehl anstelle von hmget ausführen

Siehe auch

  • Felder in einem Hash umbenennen
  • Mehrere Schlüssel mit Scan umbenennen
  • Setzen Sie das Ablaufdatum auf mehrere Schlüssel
  • Schlüssel löschen, die einem Muster entsprechen
  • RDBTools GUI for Redis ermöglicht Ihnen eine Vorschau Ihrer Massenaktionen und bietet eine leistungsstarke GUI zum Verwalten von Daten in Redis. Es ist ein kostenloser Download!