Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So löschen Sie Hunderttausende von Schlüsseln mit Sonderzeichen in Redis

So habe ich es gelöst, das funktioniert für Millionen von Datensätzen, ohne Redis zu betonen.

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

Schritt 1. Speichern Sie alle Schlüssel, die Sie von Redis benötigen, in einer Datei, nennen wir diese Datei YES_WE_CAN.sh

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

Schritt 2: Öffnen Sie die Datei YES_WE_CAN.sh mit vi oder vim und drücken Sie : Zeichen, und geben Sie dann Folgendes ein, um das Sonderzeichen ' zu ersetzen :

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

Dadurch werden alle ' ersetzt Zeichen mit '"'"' Fluchtabfolge. (Vertrauen Sie mir, das funktioniert, machen Sie weiter!)

Schritt 3: Stellen Sie jeder Zeichenfolge redis-cli DEL voran (Leerzeichen am Ende nicht vergessen):

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

Schritt 4: Hängen Sie am Ende jeder Zeile den ' an Zeichen:

:%s/$/'/g

Schritt 5: Speichern Sie die Datei und beenden Sie sie mit :wq

Schritt 6: Ändern Sie die Datei YES_WE_CAN.sh in den ausführbaren Modus:

chmod +x YES_WE_CAN.sh

Schritt 7: Führen Sie die Datei aus:

./YES_WE_CAN.sh

Genießen Sie Ihren Kaffee, während das Skript die von Ihnen angeforderten Millionen von Schlüsseln löscht.