Kelajuan pemasukan senarai redis python terlalu perlahan
typecho
typecho 2017-06-28 09:21:58
0
1
1244
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))

Kecekapan pelaksanaan ini sangat rendah.
Anda perlu menunggu berpuluh-puluh saat untuk pemasukan selesai.
Adakah cara yang lebih berkesan untuk menangani perkara ini?

args hanyalah tuple dengan kandungan seperti (1,2,"3")

typecho
typecho

Following the voice in heart.

membalas semua (1)
刘奇

Oleh kerana saya secara peribadi tidak pernah menggunakan perpustakaan redis, jadi saya hanya boleh cuba memberikan beberapa cadangan berdasarkan kod yang anda berikan Jika anda tidak menyukainya, jangan kecam:

1. Saya tidak tahu jika anda meletakkan iniargs是哪来的, 但是在这个循环体中, 似乎没看到改变, 所以能否将这个json.dumps(args)di luar badan gelung dan laksanakannya:

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

2. Memandangkan anda perlu menjana kira-kira 300,000 keping data yang sama, bolehkah anda menjana data ini dahulu dan kemudiannya lagi kerana tcp juga mempunyai faktor kelewatan tersendiriclient.lpush

3. Anda boleh menggunakan perpustakaan

untuk mengetahui perkara yang mengambil masa yang lama, atau anda boleh cuba menggunakan perpustakaan lain untuk melaksanakannya (anda perlu pergi ke Google untuk ini)cProfile

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!