Il n'y a pas de méthode simple, alors écrivez un script
Pour supprimer les données Redis avec un modèle, cliquez sur Supprimer les clés qui correspondent au modèle Redis. , mais ce n'est pas une approche simple (bien que ce ne soit pas une approche directe), mais lors de l'utilisation de Redis Cluster, les données même si le préfixe clé est le même Est distribué entre les nœuds, ce qui rend difficile la navigation et la suppression à la fois.
En premier lieu, je fais rarement une telle chose dans l'environnement de publication, mais l'utilisation de Redis Cluster à partir de l'environnement de développement est un peu un problème. Que faire si vous enregistrez accidentellement des données corrompues et que vous souhaitez enfin les supprimer.
D'après le résultat, c'est le plus rapide pour écrire un tel script.
delete-pat
#! /usr/bin/env python
import sys
import commands
print sys.argv
#Veuillez définir le nœud vous-même
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))
Je l'utilise comme ça
./delete-pat hoge:fuga:*
C'est tout d'ici.
Recommended Posts