Ofte vil du eksportere data fra redis som en csv. Redis-cli har en --csv
flag, men det virker kun, hvis du vil eksportere en enkelt nøgle. Men med en lille smule kommandolinjemagi kan du eksportere et hvilket som helst antal nøgler som et CSV-format.
Dette script vil eksportere felterne id, visningsnavn, omdømme og placering for alle hashes, der starter med users:*
Brug af Scan for at vælge-taster
Det første trin er at bruge redis-cli med --scan
og --pattern
flag for at vælge nøglerne af interesse. Så for at vælge nøgler, der matcher brugere:*, skal du køre kommandoen redis-cli --scan --pattern users:*
.
Bemærk, at redis kun tillader glob-stilmønstre. Så users:*
vil matche users:1234
og matche også users:1234:favourites
. Hvis du vil have mere kontrol, kan du følge det op med et grep og et regex.
redis-cli --scan --pattern users:* | grep -e '^users:[^:]*$'
Brug af AWK til at køre Redis-kommandoer
For hver nøgle, vi valgte, skal vi køre en redis-kommando for at hente dataene for den nøgle. I vores tilfælde ønsker vi at hente felter fra en hash, så vi bruger hmget
kommando. $0
i awk-scriptet refererer til den nøgle, vi tidligere valgte ved hjælp af scanning.
Outputtet af awk-scriptet sendes til redis-cli. Hver kommando udføres, og outputtet returneres som en CSV på grund af --csv
flag.
Tilpasning af dette script
- Hvis din redis-server ikke er på localhost, skal du angive værten, porten og adgangskoden to gange i kommandoen, stort set hver gang du kalder redis-cli.
- Du kan køre enhver kommando i stedet for
hmget
Se også
- Omdøb felter i en Hash
- Omdøb flere taster ved hjælp af Scan
- Indstil udløb til flere nøgler
- Slet nøgler, der matcher et mønster
- RDBTools GUI til Redis giver dig mulighed for at forhåndsvise dine bulkhandlinger og giver dig en kraftfuld GUI til at administrere data i Redis. Det er en gratis download!