I Redis in CentOS, und ich habe mehrere Schlüssel von redis wie diese installiert haben,Redis cli löschen mehrere Schlüssel
Product:<id>:<url>
Wie kann ich alle Product:*:*
mit CLI löschen?
Redis Version: 3.2.4 [Neueste ich denke]
Dank!
I Redis in CentOS, und ich habe mehrere Schlüssel von redis wie diese installiert haben,Redis cli löschen mehrere Schlüssel
Product:<id>:<url>
Wie kann ich alle Product:*:*
mit CLI löschen?
Redis Version: 3.2.4 [Neueste ich denke]
Dank!
Es gibt keinen eingebauten Befehl dafür. Sie müssen den Befehl SCAN
verwenden, um alle Schlüssel zu erhalten, die dem Muster entsprechen. Verwenden Sie dann den Befehl DEL
, um diese Schlüssel zu entfernen.
// scan from cursor 0 to get the next cursor and keys
SCAN 0 match Product:*:*
// next_cursor, Product:x1:y1, Product:x2:y2, ...
DEL Product:x1:y1 Product:x2:y2 ...
// scan from the next cursor until it return 0
SCAN next_cursor match Product:*:*
Eine andere Lösung ist es, eine HASH
verwenden Schlüssel dieses Muster zu speichern:
// set key value
HSET Products Product:<id>:<url> value
// remove a single key
HDEL Products Product:<id>:<url>
// remove all keys
DEL Products
Mit dem redis-cli
Tool können Sie folgendes tun:
redis-cli --scan --pattern 'Product:*:*' | xargs redis-cli DEL
Können Sie mir Beispiel scannen und dann löschen? –
@JohnFG Ich aktualisiere die Antwort. Weitere Informationen zu "SCAN" finden Sie in der Dokumentation. –