Redis supprime les clés très rapidement, même 4 millions de clés ne posent pas de problème. Je soupçonne que le goulot d'étranglement vient en fait du réseau.
Si vous supprimez les clés une par une, chaque fois que vous envoyez une commande, le client attendra une réponse de redis, ce qui gaspille beaucoup de bande passante réseau.
Vous pouvez essayer d'utiliser le pipeline/transactions. Sans saturer la bande passante du réseau côté redis, la commande est envoyée à la vitesse maximale puis exécutée en une seule fois.
Si cela ne fonctionne pas, vous pouvez écrire un script Lua pour identifier et supprimer les clés inutiles, et les envoyer à Redis pour exécution avec eval. Cela ne devrait pas bloquer le réseau.
Si cela affecte toujours l'entreprise. . La solution ultime consiste à créer un maître/esclave, à supprimer la clé sur l'esclave et à utiliser le maître pour gérer la requête. Après avoir supprimé la clé, promouvez l'esclave au rang de maître, puis transférez-lui la demande.
À mon humble avis, vous pouvez le supprimer à 2 heures du milieu de la nuit. Le délai le plus long est probablement de 1 minute. Il ne devrait pas y avoir beaucoup de gens qui l'utilisent à ce moment-là, à moins qu'il ne s'agisse d'un 24. Site Web à trafic horaire comme Baidu Taobao ! Pas besoin de me remercier, je m'appelle Lei Feng
Redis supprime les clés très rapidement, même 4 millions de clés ne posent pas de problème. Je soupçonne que le goulot d'étranglement vient en fait du réseau.
Si vous supprimez les clés une par une, chaque fois que vous envoyez une commande, le client attendra une réponse de redis, ce qui gaspille beaucoup de bande passante réseau.
Vous pouvez essayer d'utiliser le pipeline/transactions. Sans saturer la bande passante du réseau côté redis, la commande est envoyée à la vitesse maximale puis exécutée en une seule fois.
Si cela ne fonctionne pas, vous pouvez écrire un script Lua pour identifier et supprimer les clés inutiles, et les envoyer à Redis pour exécution avec eval. Cela ne devrait pas bloquer le réseau.
Si cela affecte toujours l'entreprise. . La solution ultime consiste à créer un maître/esclave, à supprimer la clé sur l'esclave et à utiliser le maître pour gérer la requête. Après avoir supprimé la clé, promouvez l'esclave au rang de maître, puis transférez-lui la demande.
Essayez la commande eval de redis.
Par exemple, supprimez toutes les CLÉS commençant par old-fashioned :
Si une seule suppression consomme beaucoup de performances, vous pouvez envisager de supprimer par lots.
À mon humble avis, vous pouvez le supprimer à 2 heures du milieu de la nuit. Le délai le plus long est probablement de 1 minute. Il ne devrait pas y avoir beaucoup de gens qui l'utilisent à ce moment-là, à moins qu'il ne s'agisse d'un 24. Site Web à trafic horaire comme Baidu Taobao ! Pas besoin de me remercier, je m'appelle Lei Feng
à partir de Redis 3.4 :