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

Sådan massesletter du hundredtusindvis af nøgler med specialtegn i Redis

Her er, hvordan jeg løste det, det virker for zillioner af plader uden at stresse redis.

WARNING: PLEASE DO NOT TRY THIS AT HOME UNATTENDED AND MAKE SURE TO WEAR 
ALL SAFETY EQUIPMENT NECESSARY FOR THE TASK.

Trin 1. Dump alle de nøgler, du har brug for fra redis til en fil, lad os kalde denne fil YES_WE_CAN.sh

redis-cli KEYS "StartsWith*" > YES_WE_CAN.sh

Trin 2: Åbn filen YES_WE_CAN.sh med vi eller vim og tryk på : tegn, og skriv derefter følgende for at erstatte specialtegnet ' :

:%s/'/'"'"'/g

Dette erstatter alle ' tegn med '"'"' flugtsekvens. (Tro mig, det virker, fortsæt!)

Trin 3: Sæt foran hver streng redis-cli DEL (glem ikke pladsen i slutningen):

:%s/^/redis-cli DEL /g

Trin 4: Tilføj ' i slutningen af ​​hver linje tegn:

:%s/$/'/g

Trin 5: Gem filen og afslut med :wq

Trin 6: Skift filen YES_WE_CAN.sh til eksekverbar tilstand:

chmod +x YES_WE_CAN.sh

Trin 7: Kør filen:

./YES_WE_CAN.sh

Nyd din kaffe, mens scriptet sletter de millioner af nøgler, du har bedt om.



  1. Tidspunkt for oprettelse af nøgle i redis

  2. Hvordan får man alle de værdier, der indeholder en del af en streng, ved hjælp af mongoose find?

  3. MongoDB:Kan ikke kanonisere forespørgsel:BadValue Projection kan ikke have en blanding af inklusion og ekskludering

  4. Redis starter manuelt med init.d men ikke ved opstart