Redis tilbyder ikke en kommando til masseomdøbning af nøgler i Redis. Men det er nemt nok at oprette et script ved hjælp af redis-cli og nogle kommandolinjeværktøjer.
Denne kommando vil omdøbe nøgler, der matcher brugere:* til kunder*:
Hvordan fungerer scriptet?
- For det første bruger vi
redis-cli --scan --pattern
for at få en liste over nøgler, der skal omdøbes. Da vi bruger scan-kommandoen, blokerer dette ikke redis-serveren. - Dernæst bruger vi awk til at lave strengsubstition og generere et nyt navn. Dette er
gsub(/users/,"customers", new_key)
i bash-kommandoen - Dernæst bruger vi generer vores kommando
omdøb
, men for at gøre det effektivt, genererer vi det i redis-protokolformatet. - Til sidst sender vi redis-protokollen til redis-cli med
--pipe
mulighed. Dette er den mest effektive måde at sende en strøm af kommandoer til redis-serveren.
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 bliver nødt til at erstatte scanningsmønsteret og gsub-opkaldet for at opfylde dine behov.
Se også
- Omdøb felter i en Hash
- 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!