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
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
- 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.
- 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!