Heim  >  Artikel  >  Datenbank  >  Redis löscht Schlüssel bestimmter Regeln stapelweise

Redis löscht Schlüssel bestimmter Regeln stapelweise

王林
王林nach vorne
2021-03-11 09:37:272177Durchsuche

Redis löscht Schlüssel bestimmter Regeln stapelweise

1. Einführung

Bei der Arbeit stoßen wir häufig auf Situationen, in denen wir die Schlüssel bestimmter Regeln stapelweise löschen müssen, beispielsweise die zwischengespeicherten Kursdaten „Kurs-Kurs-UID“. Solche Daten müssen so etwas wie „course -*“ gelöscht werden. Obwohl Redis Befehle für die Batch-Abfrage von Schlüsseln dieses Typs bereitstellt, stellt es keine Befehle für die Batch-Löschung bestimmter Schlüsseltypen bereit.

Jetzt habe ich die Lösungen geklärt und hoffe, dass es allen helfen kann.

2. Lösung

Lass uns zuerst sehen, wie wir es lösen.

1. Geben Sie zuerst den Redis-Client ein

cd redis所在目录/src
./redis-cli

2. Über den Tastenbefehl können Sie sehen, dass es jetzt drei Schlüssel gibt

127.0.0.1:6379> set course-1 1
OK
127.0.0.1:6379> set course-2 2
OK
127.0.0.1:6379> set course-3 3
OK

5.1, lokales Batch-Löschen von Schlüsseln

127.0.0.1:6379> keys  course-*
1) "course-3"
2) "course-2"
3) "course-1"

Die 3 zugehörigen Schlüssel natürlich-* wurden gerade gelöscht

Prinzipielle Analyse:

Führen Sie zuerst den Befehl „keys“ über den Redis-Client aus und suchen Sie alle Schlüssel mithilfe des Befehls „xargs“. , der zuvor abgefragte Schlüssel wird als Eingabe für den nachfolgenden Befehl redis del verwendet

Das endgültige Ausführungsergebnis kann verstanden werden als

(Lernvideofreigabe:

Redis-Video-Tutorial

)

1 Fuzzy-Abfrage

127.0.0.1:6379> exit
Abfrage Aus des oben genannten Kurses 1 Kurs 2 Kurs 3 Diese drei Schlüssel

del stammen aus der vorherigen Schlüsselabfrage

./redis-cli keys "course-*" | xargs ./redis-cli del

5.2. Remote-Batch-Löschung von Schlüsseln

Wir haben es oft getan Entwickeln, Redis ist nicht lokal. Wir können es über den Redis-Client löschen

1. Das folgende Beispiel zeigt, wie man eine Verbindung zum Host herstellt. 127.0.0.1, der Port ist 6379 und das Passwort lautet mypass für den Redis-Dienst.

keys "course-*"

2. xargs-Befehl

xargs-Befehl ist ein Filter zum Übergeben von Parametern an andere Befehle und ein Tool zum Kombinieren mehrerer Befehle. Detaillierte Kursunterlagen: http://man.linuxde.net/xargs

Verwandte Empfehlungen:

Redis-Datenbank-Tutorial

Das obige ist der detaillierte Inhalt vonRedis löscht Schlüssel bestimmter Regeln stapelweise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen