[PYTHON] Löschen Sie Daten in einem Muster mit Redis Cluster

Fazit

Es gibt keine einfache Methode, schreiben Sie also ein Skript

Überblick

Um Redis-Daten mit einem Muster zu löschen, klicken Sie auf Schlüssel löschen, die dem Redis-Muster entsprechen. , aber es ist kein einfacher Ansatz (obwohl es kein einfacher Ansatz ist), aber bei Verwendung von Redis Cluster werden Daten auch dann verwendet, wenn das Schlüsselpräfix identisch ist Wird auf die Knoten verteilt, was es schwierig macht, alle auf einmal zu verweisen oder zu löschen.

Ich mache das in der Release-Umgebung selten, aber ich bin ein wenig besorgt, wenn ich Redis Cluster aus der Entwicklungsumgebung verwende. Was tun, wenn Sie versehentlich beschädigte Daten speichern und diese endgültig löschen möchten?

Skript

Aus dem Ergebnis geht hervor, dass es am schnellsten ist, ein solches Skript zu schreiben.

delete-pat


#! /usr/bin/env python

import sys
import commands

print sys.argv

#Bitte setzen Sie den Knoten selbst
nodes = [
"localhost:10000",
"localhost:10001",
"localhost:10002"
]

pat = sys.argv[1]
for node in nodes:
    host, port = node.split(":")
    output = commands.getoutput("redis-cli -h {host} -p {port} -c keys {pat}".format(host=host,port=port,pat=pat))
    result = filter(lambda s:len(s) > 0, output.split("\n"))
    print host, port
    print result
    for key in result:
        print commands.getoutput("redis-cli -h {host} -p {port} -c del {key}".format(host=host,port=port,key=key))

Ich benutze es so

./delete-pat hoge:fuga:*

Das ist alles von hier.

Recommended Posts

Löschen Sie Daten in einem Muster mit Redis Cluster
Trainieren Sie MNIST-Daten mit PyTorch mithilfe eines neuronalen Netzwerks
Einfallsreichtum beim speichersparenden Umgang mit Daten mit Pandas
Organisieren Sie mit dem MultiLabel Binarizer von scikit-learn individuelle Kaufdaten in einer Tabelle
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
SE, ein Anfänger in der Datenanalyse, lernt mit dem Data Science Team Vol.1
Versuchen Sie, mit Binärdaten in Python zu arbeiten
[Python] Zeichnen eines Wirbelmusters mit einer Schildkröte
Zeichne mit PyCall ein Herz in Ruby
Daten in RDS mit AWS Glue überschreiben
Zeichendatendatei mit numpy lesen
Behandeln Sie 3D-Datenstrukturen mit Pandas
Zeichnen Sie in Jupyter ein Diagramm mit japanischen Beschriftungen
Die Systemumschaltung erfolgt in der CentOS 7-Clusterumgebung
Starten Sie Django in einer virtuellen Umgebung mit Pipenv
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Lesen Sie Tabellendaten in einer PDF-Datei mit Python
Löschen Sie Zeilen mit beliebigen Werten in pandas DataFrame
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Eine Geschichte über den Umgang mit Binärdaten in Python
Klonen Sie mit einem bestimmten Zweig / Tag in GitPython
Folium: Visualisieren Sie Daten auf einer Karte mit Python
Datenanalyse in Python: Ein Hinweis zu line_profiler
Ich habe ein Designmuster in der Kotlin Prototype Edition geschrieben
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Eine Geschichte voller absoluter Werte von numpy.ndarray
Konfigurieren Sie ein Modul mit mehreren Dateien in Django
Machen Sie Urlaubsdaten mit Pandas zu einem Datenrahmen
Erstellen Sie in KiCad ein Rahmenantennenmuster in Python
Aufgezeichnete Umgebung für die Datenanalyse mit Python
Extrahieren Sie mit Python Daten von einer Webseite
Verwirklichen Sie ein Super-IoT-Haus, indem Sie mit Raspberry Pi Sensordaten im Haus erfassen
Konsolidieren Sie eine große Anzahl von CSV-Dateien in Ordnern mit Python (Daten ohne Header).
Verwendung von Fixture in Django zur Eingabe von Beispieldaten für das Benutzermodell
Ich habe ein gestapeltes Balkendiagramm mit matplotlib von Python erstellt und eine Datenbeschriftung hinzugefügt
Python2 / numpy> Ersetzen Sie nur eine bestimmte Spalte in einer Datei durch Spaltendaten aus einer anderen Datei> numpy.c_
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Ich möchte mit einem Knopf am Kolben übergehen
Empfangen Sie Wörterbuchdaten von Python-Programmen mit AppleScript
Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)
Ich habe ein Designmuster in der Kotlin Builder Edition geschrieben
Spielen mit der benutzerlokalen API für künstliche Intelligenz in Python
Fügen Sie AWS-Daten mit boto + gspread in Google Spreadsheet ein
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Ich habe ein Designmuster in der Kotlin Singleton Edition geschrieben
Ich habe ein Designmuster in der Kotlin Adapter Edition geschrieben
Visualisieren Sie mit Cytoscape 2 Eisenbahnstreckendaten als Grafik
Versuchen Sie, Python mit pybind11 in ein C ++ - Programm einzubetten
Ich habe ein Designmuster in Kotlin geschrieben, das von Iterator bearbeitet wurde
Löschen Sie jeweils 1000 in AWS S3 gespeicherte Objekte.
[Django] Tabelle abschneiden (alle Tabellendaten löschen)
Zeichnen einer Baumstruktur mit D3.js in Jupyter Notebook
Ich möchte mit einem Roboter in Python arbeiten.
Der süchtig machende Punkt des "Bayes-Denkens in Python"
Bis Sie Daten in eine Tabelle in Python einfügen
Ein Server, der POST-Daten mit flask / python wiedergibt
Geben Sie eine Zeichenfolge mit Zeilenumbrüchen in PyYAML aus