Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So benennen Sie mehrere Schlüssel in Redis um

Redis bietet keinen Befehl zum Massenumbenennen von Schlüsseln in Redis. Aber es ist einfach genug, ein Skript mit redis-cli und einigen Kommandozeilen-Tools zu erstellen.


Dieser Befehl benennt Schlüssel, die mit Benutzern:* übereinstimmen, in Kunden*:

um

Wie funktioniert das Skript?

  1. Zunächst verwenden wir redis-cli --scan --pattern <pattern> um eine Liste der Schlüssel zu erhalten, die umbenannt werden sollten. Da wir den Scan-Befehl verwenden, blockiert dieser den Redis-Server nicht.
  2. Als Nächstes verwenden wir awk, um Zeichenfolgen zu ersetzen und einen neuen Namen zu generieren. Dies ist der gsub(/users/,"customers", new_key) im Bash-Befehl
  3. Als nächstes verwenden wir unseren Befehl rename <old key> <new key> , aber um es effizient zu machen, generieren wir es im Redis-Protokollformat.
  4. Schließlich leiten wir das Redis-Protokoll mit dem --pipe an redis-cli weiter Möglichkeit. Dies ist der effizienteste Weg, um einen Strom von Befehlen an den Redis-Server zu senden.

Anpassen dieses Skripts

  1. Wenn sich Ihr Redis-Server nicht auf localhost befindet, müssen Sie Host, Port und Passwort zweimal angeben im Befehl, im Grunde immer dann, wenn Sie redis-cli aufrufen.
  2. Sie müssen das Scan-Muster und den gsub-Aufruf ersetzen, um Ihre Anforderungen zu erfüllen.

Siehe auch

  • Felder in einem Hash umbenennen
  • Setzen Sie das Ablaufdatum auf mehrere Schlüssel
  • Schlüssel löschen, die einem Muster entsprechen
  • 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!