Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment renommer plusieurs clés dans Redis

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 ?

  1. 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.
  2. 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
  3. 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.
  4. 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

  1. 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.
  2. 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 !