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

Comment supprimer des clés correspondant à un modèle dans Redis

Redis n'offre pas de moyen de supprimer des clés en masse. Vous pouvez cependant utiliser redis-cli et un peu de magie de ligne de commande pour supprimer en masse des clés sans bloquer redis.


Cette commande supprimera toutes les clés correspondant aux utilisateurs :*
redis-cli --scan --pattern users:* | xargs redis-cli del

Si vous êtes dans redis 4.0 ou supérieur, vous pouvez utiliser la commande unlink à la place pour supprimer les clés en arrière-plan.


redis-cli --scan --pattern users:* | xargs redis-cli unlink

Comment fonctionne le script ?

  1. Tout d'abord, nous utilisons redis-cli --scan --pattern <pattern> pour obtenir une liste de clés, une clé par ligne. Comme cela utilise l'analyse, le serveur Redis n'est pas bloqué.
  2. xargs prend plusieurs lignes et les combine sur la même ligne, donc vous exécutez essentiellement la commande del <key1> <key2>...
  3. Si vous avez des milliers de clés qui correspondent au modèle, xargs exécutera automatiquement redis-cli plusieurs fois.

Voir aussi

  • Renommer les champs dans un hachage
  • Définir l'expiration sur plusieurs clés
  • Renommer plusieurs clés à l'aide de Scan
  • 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 !