Während des Entwicklungsprozesses werden Sie auf Schlüssel stoßen, die nach bestimmten Regeln stapelweise gelöscht werden müssen, z. B. login_logID (die ID ist eine Variable, die Sie jetzt benötigen). Zum Löschen von „login_log*“ gibt es einen Datentyp, aber Redis selbst verfügt nur über Befehlstasten zum stapelweisen Abfragen der Schlüsselwerte eines Typs, es gibt jedoch keinen Befehl zum stapelweisen Löschen eines bestimmten Datentyps.
Zuerst abfragen, dann löschen, xargs zum Übergeben von Parametern verwenden (xargs kann Pipe- oder Standardeingabedaten (stdin) in Befehlszeilenparameter umwandeln), zuerst ausführen In Löschen Sie in der Abfrageanweisung den abgefragten Schlüsselwert und den ursprünglichen del-Parameter.
redis-cli KEYS key* (查找条件) | xargs redis-cli del
=>[Das nach der Ausführung zurückgegebene Ergebnis wirkt sich auf die Menge aus]: (integer) 10[Menge 10]
Führen Sie ein Experiment durch und erstellen Sie zunächst drei Schlüsselwerte desselben Typs #🎜 🎜#
127.0.0.1:6379> set test1 1OK
127.0.0.1:6379> setze test2 2
OK
127.0. 0.1: 6379 & gt; #1) „test3“
2) „test2“
3) „test1“
Redis verlassen und den Löschbefehl lokal ausführen
[root@localhost redis]# redis-cli -a 密码 -n 0(数据库) keys "test*" |xargs redis-cli -a 密码 -n 0(数据库) del Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. (integer) 3 (返回行数)
Dieser Befehl führt zunächst den Befehl „keys“ über den Redis-Client aus, durchsucht alle Schlüssel im Fuzzy-Modus und verwendet den Befehl „xargs“, um die zuvor abgefragten Schlüssel als Eingabe für den nachfolgenden Befehl „redis del“ zu verwenden #🎜 🎜# Entspricht der Ausführung von redis-cli del test1 test2 test3
Hinweis: Sie müssen bei der Ausführung hier Redis-Bedingungen mitbringen, -a dient zur Eingabe des Kennworts, -n dient zur Angabe der Datenbank, wenn Redis ist nicht lokal oder es gibt andere Änderungen. Sie müssen auch -h redis server ip, -p port
Zum Beispiel
redis-cli -h 127.0 hinzufügen .0.1 (IP-Adresse) -p 6379 (Portnummer) -a Passwort -n 1 (schreibe die Nummer, in der sich die Daten befinden) KEYS key* (Suchbedingung) |. -p 6379 (Portnummer) -a Passwort -n 1) del
Ergänzendes Wissen:
Löschen in Redis1. Das Redis DEL Der Befehl wird zum Löschen vorhandener Schlüssel verwendet. Vorhandene Schlüssel werden ignoriert. Zum Beispiel:
127.0.0.1:6379> set hello worldGanzzahl) 1OK
127.0.0.1:6379> del hallo
Aber del kann nur eine oder mehrere löschen und nicht in Stapeln löschen. Dies ist nicht anwendbar, wenn die zu löschende Datenmenge zu groß ist.
2. Löschen Sie die gesamten Redis-Serverdaten: Flushall
3 Löschen Sie alle Schlüssel in der aktuellen Bibliothek: Flushdb
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Stapellöschung von Schlüsselwerten in Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!