Saya mahu melakukan beberapa jenis multithreading dalam persekitaran PHP8/Symfony6 dan ia berfungsi seperti ini:
Saya membuat permintaan prinsip yang melayani kira-kira sejuta baris
Saya ingin mencipta berbilang proses selari untuk memproses baris pada masa yang sama. Permintaan saya dibuat melalui getResult() yang menyediakan objek doktrin. Adakah terdapat cara untuk mencipta benang dengan tatasusunan objek sebagai parameter. Kemudian buat utas apabila "baris gilir" saya diisi dengan data?
Saya menjumpai beberapa maklumat tentang "pthreads" atau "popen" tetapi saya tidak pasti sama ada ia masih relevan kerana topik itu agak lama
Dalam kes ini, salah satu perkara yang Doktrin lakukan ialah menghidratkan kelas dengan kandungan data, jadi semua berjuta-juta rekod ditukar kepada kelas dan menyimpannya dalam ingatan, jadi beberapa cadangan: p>
Anda juga boleh menggunakan gelung
fetchAll
方法一次获取所有用户,但请注意,如果您的查询返回太多用户,则可能会耗尽内存。使用上面的while
, anda hanya mengambil satu pengguna ke dalam memori pada satu masa, jadi prestasi memori adalah lebih baik.Seperti seseorang mengulas, anda boleh menggunakan