Redis n'offre pas de commande pour renommer en bloc les clés dans redis. Mais il est assez facile de créer un script à l'aide de redis-cli et de certains outils de ligne de commande.
Cette commande renommera les clés correspondant aux utilisateurs :* en clients* :
Comment fonctionne le script ?
- Tout d'abord, nous utilisons
redis-cli --scan --pattern <pattern>
pour obtenir une liste des clés qui doivent être renommées. Puisque nous utilisons la commande scan, cela ne bloque pas le serveur redis. - Ensuite, nous utilisons awk pour effectuer une substitution de chaîne et générer un nouveau nom. Il s'agit du
gsub(/users/,"customers", new_key)
dans la commande bash - Ensuite, nous utilisons générer notre commande
rename <old key> <new key>
, mais pour le rendre efficace, nous le générons au format du protocole redis. - Enfin, nous dirigeons le protocole redis vers redis-cli avec le
--pipe
option. C'est le moyen le plus efficace d'envoyer un flux de commandes au serveur Redis.
Personnalisation de ce script
- Si votre serveur Redis n'est pas sur localhost, vous devrez fournir l'hôte, le port et le mot de passe deux fois dans la commande, essentiellement chaque fois que vous appelez redis-cli.
- Vous devrez substituer le modèle d'analyse et l'appel gsub pour répondre à vos besoins.
Voir aussi
- Renommer les champs dans un hachage
- Définir l'expiration sur plusieurs clés
- Supprimer les clés correspondant à un modèle
- L'interface graphique RDBTools pour Redis vous permet de prévisualiser vos actions groupées et fournit une interface graphique puissante pour gérer les données dans Redis. C'est un téléchargement gratuit !