sql >> Database teknologi >  >> NoSQL >> Redis

Sådan eksporteres Redis-nøgler som CSV ved hjælp af CLI

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

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

  1. MongoDB - Opret en database

  2. Forespørgsel MongoDB med længdekriterier

  3. Kan ikke deserialisere PyMongo ObjectId fra JSON

  4. Forældes automatisk MongoDB-indsamlingsdokumenter