pool = redis.ConnectionPool(host=host, port=port) client = redis.StrictRedis(connection_pool=pool) for i in range(10000): for j in range(30): client.lpush(IDLE_TASKS, json.dumps(args))
Cette efficacité d'exécution est horriblement faible.
Vous devez attendre des dizaines de secondes pour que l'insertion soit terminée.
Existe-t-il un moyen plus efficace de gérer cela ?
args est juste un tuple avec un contenu comme (1,2,"3")
Parce que personnellement, je n'ai jamais utilisé la bibliothèque Redis, je ne peux donc qu'essayer de donner quelques suggestions basées sur le code que vous avez donné. Si vous ne l'aimez pas, ne critiquez pas :
.1. Je ne sais pas si vous mettez ceci
args
是哪来的, 但是在这个循环体中, 似乎没看到改变, 所以能否将这个json.dumps(args)
en dehors du corps de la boucle et l'exécutez :2. Étant donné que vous devez générer environ 300 000 éléments des mêmes données, pouvez-vous générer ces données d'abord, puis à nouveau, car après tout, TCP a également ses propres facteurs de retard ?
pour découvrir ce qui prend beaucoup de temps, ou vous pouvez essayer d'utiliser une autre bibliothèque pour l'implémenter (vous devez rechercher ceci sur Google pour plus de détails)client.lpush
3. Vous pouvez utiliser la bibliothèque