Au cours du processus de développement, vous rencontrerez des clés qui doivent être supprimées par lots selon certaines règles, telles que login_logID (l'ID est une variable). Vous devez maintenant supprimer des données telles que "login_log*", mais redis lui-même n'a qu'il existe des commandes pour interroger par lots les valeurs de clé d'une classe de clés, mais il n'y a pas de commande pour supprimer par lots une certaine classe.
Requérez d'abord, puis supprimez, utilisez xargs pour transmettre les paramètres (xargs peut convertir les données de canal ou d'entrée standard (stdin) en paramètres de ligne de commande), exécutez d'abord l'instruction de requête, puis utilisez la valeur de clé del demandée. paramètre à supprimer.
redis-cli KEYS key* (查找条件) | xargs redis-cli del
=>[Le nombre de résultats renvoyés après l'exécution affecte] : (entier) 10[Quantité 10]
Faites une expérience, créez d'abord trois valeurs clés du même type
3) "test1"127.0.0.1:6379> set test1 1
2) "test2"
OK
127.0.0.1:6379> set test2 2
OK
127.0.0.1:6379>
1)" test3"
Quittez Redis et exécutez la commande de suppression localement[root@localhost redis]# redis-cli -a 密码 -n 0(数据库) keys "test*" |xargs redis-cli -a 密码 -n 0(数据库) del Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. (integer) 3 (返回行数)Copier après la connexion
Analyse du principe :
Cette commande exécute d'abord la commande keys via le client redis et effectue une recherche floue sur toutes les clés. Grâce à la commande xargs, utilisez la clé précédemment interrogée comme entrée de la commande redis del suivante
Cela équivaut à exécuter redis-cli del test1 test2 test3Remarque : vous devez apporter des conditions redis lors de l'exécution ici, -a doit entrez le mot de passe, -n est la base de données spécifiée. Si redis n'est pas local ou s'il y a d'autres changements, vous devez ajouter -h redis server ip, -p portPar exempleSuppression dans redis
redis-cli -h 127.0.0.1. (Adresse IP) -p 6379 (numéro de port) -a mot de passe-n 1 (écrire le numéro dans quelle base de données se trouvent les données) Clé KEYS* (conditions de recherche) | (numéro de port) -un mot de passe-n 1) del
Connaissances supplémentaires :1 La commande Redis DEL est utilisée pour supprimer les clés existantes, et les clés non existantes seront ignorées.Par exemple :
127.0.0.1:6379> set hello world
OK127.0.0.1:6379> del hello
(integer) 1Mais del ne peut en supprimer qu'un ou plusieurs, et ne peut pas les supprimer par lots lorsque nécessaire Cela ne s'applique pas lorsque la quantité de données supprimées est trop importante2 Effacez les données de l'ensemble du serveur Redis : flushall
3 Effacez toutes les clés de la bibliothèque actuelle : flushdb
.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!