Présentation
Redis est une solution open source pour le stockage de structure de données. Il est principalement utilisé comme magasin clé-valeur, ce qui lui permet de fonctionner comme une base de données, un stockage de cache et un courtier de messages.
Dans ce didacticiel, nous aborderons différentes manières de supprimer ces valeurs-clés (clés) et de vider le cache Redis.
Prérequis
- La dernière version de Redis (consultez notre guide pour savoir comment installer Redis sur Ubuntu, sur Mac ou exécuter Redis sur Docker)
- Accès à la ligne de commande/fenêtre du terminal
Effacer le cache Redis avec la commande redis-cli
Le moyen le plus simple de vider le cache Redis consiste à utiliser le redis-cli
commande.
Les bases de données dans Redis sont stockées individuellement. Utilisation de redis-cli
La commande vous permet soit d'effacer les clés de toutes les bases de données, soit d'une seule base de données spécifiée.
Syntaxe de la commande redis-cli
Le redis-cli
commande utilise la syntaxe suivante :
redis-cli [database number] [option]
Où :
[option]
– Vous permet de choisir entre effacer toutes les bases de données ou une base de données spécifique de votre choix.[database number]
– Vous permet de spécifier la base de données que vous souhaitez effacer.
Supprimer toutes les clés
Pour supprimer des clés de toutes les bases de données Redis, utilisez la commande suivante :
redis-cli flushall
Depuis la version 4.0.0, Redis peut effacer les clés en arrière-plan sans bloquer votre serveur. Pour cela, utilisez le flushall
commande avec le async
paramètre :
redis-cli flushall async
Supprimer des clés d'une base de données spécifique
Utilisez la commande suivante pour effacer une base de données spécifique uniquement :
redis-cli flushdb
Utilisation de flushdb
La commande sans aucun paramètre efface la base de données actuellement sélectionnée. Utilisez le -n
paramètre avec le numéro de la base de données pour sélectionner une base de données spécifique que vous souhaitez effacer :
redis-cli -n [database number] flushdb
Vous pouvez également utiliser le async
option lors de la suppression des clés des bases de données individuelles :
redis-cli -n [database number] flushdb async
Automatisation de l'effacement du cache à l'aide d'Ansible
Si vous avez un grand nombre de serveurs Redis en cours d'exécution, vider manuellement le cache de chacun d'entre eux prend du temps.
Pour accélérer ce processus, utilisez un outil comme Ansible pour vider le cache sur tous vos serveurs Redis en même temps :
ansible all -m command -a '/usr/bin/redis-cli flushall '
L'exécution de cette commande applique le flushall
commande à chaque serveur de votre fichier d'inventaire Ansible :
all
– Vous permet de choisir tous les hôtes distants dans le fichier d'inventaire Ansible.-m
– Vous permet de choisir un module à exécuter.-a
– Fournit un argument pour le module. Dans ce cas, le module de commande exécute leflushall
commande avecredis-cli
.