Einführung
Redis ist eine Open-Source-Lösung für die Speicherung von Datenstrukturen. Es wird hauptsächlich als Schlüsselwertspeicher verwendet, wodurch es als Datenbank, Cache-Speicher und Nachrichtenbroker fungieren kann.
In diesem Tutorial behandeln wir verschiedene Möglichkeiten, wie Sie diese Schlüsselwerte (Schlüssel) löschen und den Redis-Cache löschen können.
Voraussetzungen
- Die neueste Version von Redis (siehe unsere Anleitung zur Installation von Redis auf Ubuntu, auf einem Mac oder zum Ausführen von Redis auf Docker)
- Zugriff auf die Kommandozeile / das Terminalfenster
Löschen Sie den Redis-Cache mit dem Befehl redis-cli
Der einfachste Weg, den Redis-Cache zu löschen, ist die Verwendung von redis-cli
Befehl.
Datenbanken in Redis werden einzeln gespeichert. Verwenden des redis-cli
Mit dem Befehl können Sie entweder die Schlüssel aus allen Datenbanken oder nur aus einer bestimmten Datenbank löschen.
redis-cli-Befehlssyntax
Die redis-cli
Befehl verwendet die folgende Syntax:
redis-cli [database number] [option]
Wo:
[option]
– Sie können zwischen dem Löschen aller Datenbanken oder einer bestimmten Datenbank Ihrer Wahl wählen.[database number]
– Hier können Sie angeben, welche Datenbank Sie löschen möchten.
Alle Schlüssel löschen
Um Schlüssel aus allen Redis-Datenbanken zu löschen, verwenden Sie den folgenden Befehl:
redis-cli flushall
Ab Version 4.0.0 kann Redis Schlüssel im Hintergrund löschen, ohne Ihren Server zu blockieren. Verwenden Sie dazu den flushall
Befehl mit dem async
Parameter:
redis-cli flushall async
Schlüssel aus einer bestimmten Datenbank löschen
Verwenden Sie den folgenden Befehl, um nur eine bestimmte Datenbank zu löschen:
redis-cli flushdb
Verwenden der flushdb
Befehl ohne Parameter löscht die aktuell ausgewählte Datenbank. Verwenden Sie das -n
Parameter mit der Datenbanknummer, um eine bestimmte Datenbank auszuwählen, die Sie löschen möchten:
redis-cli -n [database number] flushdb
Sie können auch async
verwenden Option beim Löschen von Schlüsseln aus einzelnen Datenbanken:
redis-cli -n [database number] flushdb async
Cache-Löschung mit Ansible automatisieren
Wenn Sie eine große Anzahl von Redis-Servern ausführen, dauert das manuelle Leeren des Caches für jeden Server einige Zeit.
Um diesen Vorgang zu beschleunigen, verwenden Sie ein Tool wie Ansible, um den Cache auf allen Ihren Redis-Servern gleichzeitig zu löschen:
ansible all -m command -a '/usr/bin/redis-cli flushall '
Das Ausführen dieses Befehls wendet den flushall
an Befehl an jeden Server in Ihrer Ansible-Inventardatei:
all
– Ermöglicht die Auswahl aller Remote-Hosts in der Ansible-Inventardatei.-m
– Lässt Sie ein auszuführendes Modul auswählen.-a
– Liefert ein Argument für das Modul. In diesem Fall führt das Befehlsmodulflushall
aus Befehl mitredis-cli
.