Redis bietet keine Möglichkeit zum Massenlöschen von Schlüsseln. Sie können jedoch redis-cli und ein wenig Befehlszeilenmagie verwenden, um Schlüssel massenweise zu löschen, ohne redis zu blockieren.
Dieser Befehl löscht alle Schlüssel, die mit Benutzern übereinstimmen:*
redis-cli --scan --pattern users:* | xargs redis-cli del
Wenn Sie Redis 4.0 oder höher verwenden, können Sie stattdessen den Befehl zum Aufheben der Verknüpfung verwenden, um Schlüssel im Hintergrund zu löschen.
redis-cli --scan --pattern users:* | xargs redis-cli unlink
Wie funktioniert das Skript?
- Zunächst verwenden wir
redis-cli --scan --pattern <pattern>
um eine Schlüsselliste zu erhalten, ein Schlüssel pro Zeile. Da dies einen Scan verwendet, wird der Redis-Server nicht blockiert. xargs
nimmt mehrere Zeilen und kombiniert sie in derselben Zeile, sodass Sie im Wesentlichen den Befehldel <key1> <key2>...
ausführen- Wenn Sie Tausende von Schlüsseln haben, die mit dem Muster übereinstimmen, führt xargs automatisch mehrmals redis-cli aus.
Siehe auch
- Felder in einem Hash umbenennen
- Setzen Sie das Ablaufdatum auf mehrere Schlüssel
- Mehrere Schlüssel mit Scan umbenennen
- RDBTools GUI for Redis ermöglicht Ihnen eine Vorschau Ihrer Massenaktionen und bietet eine leistungsstarke GUI zum Verwalten von Daten in Redis. Es ist ein kostenloser Download!