Kelajuan pemasukan senarai redis python terlalu perlahan
typecho
typecho 2017-06-28 09:21:58
0
1
1257
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 ini args是哪来的, 但是在这个循环体中, 似乎没看到改变, 所以能否将这个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!