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 ?
- 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é. xargs
prend plusieurs lignes et les combine sur la même ligne, donc vous exécutez essentiellement la commandedel <key1> <key2>...
- 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 !