1、最近项目中 要处理大量数据,所以发生下面的问题:
public function a(){ for($i = 1; $i<= 1000001; $i++){ $data[] = ['a' => $i, 'add_time'=> date('Y-m-d H:i:s')]; }}
如果执行上面的方法,那么程序一直在循环,执行其他的方法,会处于等待状态,一直等a方法执行完成才可以运行其他的方法。
为什么呢?
php Satu kaedah berada dalam gelung tak terhingga dan halaman lain tidak boleh diakses? -PHP Laman web Cina Q&A-php Kaedah berada dalam gelung tak terhingga dan halaman lain tidak boleh diakses? -Soal Jawab laman web PHP Cina
Sila tonton dan pelajari.
因为php是阻塞性的啊
你可以把这一段
public function a(){ for($i = 1; $i<= 1000001; $i++){ $data[] = ['a' => $i, 'add_time'=> date('Y-m-d H:i:s')];} }
封装成一个方法, 然后访问这个页面的时候,把这个任务丢到redis的队列去中执行啊 。这样就实现了简单的php的异步了啊
php Satu kaedah berada dalam gelung tak terhingga dan halaman lain tidak boleh diakses? -PHP Laman web Cina Q&A-php Kaedah berada dalam gelung tak terhingga dan halaman lain tidak boleh diakses? -Soal Jawab laman web PHP Cina
Sila tonton dan pelajari.
因为php是阻塞性的啊
你可以把这一段
封装成一个方法, 然后访问这个页面的时候,把这个任务丢到redis的队列去中执行啊 。这样就实现了简单的php的异步了啊