Redis tilbyder ikke en måde at masseslette nøgler på. Du kan dog bruge redis-cli og en lille smule kommandolinjemagi til at masseslette nøgler uden at blokere redis.
Denne kommando vil slette alle nøgler, der matcher brugere:*
redis-cli --scan --pattern users:* | xargs redis-cli del
Hvis du er i Redis 4.0 eller nyere, kan du bruge kommandoen unlink i stedet for at slette nøgler i baggrunden.
redis-cli --scan --pattern users:* | xargs redis-cli unlink
Hvordan fungerer scriptet?
- For det første bruger vi
redis-cli --scan --pattern <pattern>
for at få en liste over nøgler, én nøgle pr. linje. Da denne bruger scanning, er redis-serveren ikke blokeret. xargs
tager flere linjer og kombinerer dem på samme linje, så du i det væsentlige kører kommandoendel <key1> <key2>...
- Hvis du har tusindvis af nøgler, der matcher mønsteret, vil xargs automatisk udføre redis-cli flere gange.
Se også
- Omdøb felter i en Hash
- Indstil udløb til flere nøgler
- Omdøb flere taster ved hjælp af Scan
- RDBTools GUI til Redis giver dig mulighed for at forhåndsvise dine massehandlinger og giver en kraftfuld GUI til at administrere data i Redis. Det er en gratis download!