la vitesse d'insertion de la liste Redis Python est trop lente
typecho
typecho 2017-06-28 09:21:58
0
1
1248
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")

typecho
typecho

Following the voice in heart.

répondre à tous (1)
刘奇

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 ceciargs是哪来的, 但是在这个循环体中, 似乎没看到改变, 所以能否将这个json.dumps(args)en dehors du corps de la boucle et l'exécutez :

args_dump = json.dumps(args) for i in range(10000): for j in range(30): client.lpush(IDLE_TASKS, args_dump)

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 ?client.lpush3. Vous pouvez utiliser la bibliothèque

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)

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!