Maison  >  Article  >  base de données  >  redis supprime les clés de certaines règles par lots

redis supprime les clés de certaines règles par lots

王林
王林avant
2021-03-11 09:37:272114parcourir

redis supprime les clés de certaines règles par lots

1. Introduction

Au travail, nous rencontrons souvent des situations où nous devons supprimer les clés de certaines règles par lots, comme les données de cours mises en cache "cours- cours uid". L'uid du cours est une variable, nous devons supprimer les données similaires à "course-*". Cependant, bien que Redis fournisse des commandes pour interroger par lots des clés de ce type, il ne fournit pas de commandes pour la suppression par lots de certains types de clés.

Maintenant, j'ai trouvé les solutions, j'espère que cela pourra aider tout le monde.

2. Solution

Voyons d'abord comment nous le résolvons.

1. Entrez d'abord le client Redis

cd redis所在目录/src
./redis-cli

2 Initialisez les données et simulez les données

127.0.0.1:6379> set course-1 1
OK
127.0.0.1:6379> set course-2 2
OK
127.0.0.1:6379> set course-3 3
OK

3 Vous pouvez le voir via la commande Keys. key

127.0.0.1:6379> keys  course-*
1) "course-3"
2) "course-2"
3) "course-1"

4. Quittez le client redis

127.0.0.1:6379> exit

5.1 Suppression locale par lots de key

./redis-cli keys "course-*" | xargs ./redis-cli del

Les 3 clés associées bien sûr-* viennent d'être supprimées <.>

Analyse principale :

Exécutez d'abord la commande keys via le client redis, recherchez de manière floue toutes les clés et utilisez la commande xargs pour utiliser les clés précédemment interrogées comme entrée du redis del suivant

Le résultat final de l'exécution peut être compris comme

(Partage vidéo d'apprentissage :

Tutoriel vidéo Redis)

Requête floue

.

keys "course-*"

Interroger les trois clés de cours-1 cours-2 cours-3 ci-dessus


2 Exécuter la clé de suppression

Les trois clés de del proviennent des clés précédentes. query

del course-1 course-2  course-3

5.2. Suppression par lots à distance des clés

Lorsque nous développons, redis est public Peut-être que redis n'est pas local et nous pouvons le supprimer à distance via le client redis

./redis-cli -h redis所在服务器ip -p 端口 keys "course-*" |xargs ./redis-cli -h redis所在服务器ip -p 端口 del
3 , Connaissances supplémentaires

1. Redis sur une machine distante

L'exemple suivant montre comment se connecter au service redis avec l'hôte 127.0.0.1, le port 6379 et le mot de passe mypass .

redis-cli -h 127.0.0.1 -p 6379 -a "mypass"

2. Commande xargs

La commande xargs est un filtre pour passer des paramètres à d'autres commandes, et c'est également un outil pour combiner plusieurs commandes. Didacticiel détaillé http://man.linuxde.net/xargs

Recommandations associées :

Tutoriel sur la base de données Redis

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer