PHP只有一个线程,这意味着它一次可以执行1个命令,而node.js具有“非阻塞”未来(事件循环),因此它可以执行异步函数。
我不知道这有用。例如 - 如果用户使用POST
请求执行表单注册,并且我们需要将该数据插入数据库,则Node和PHP都需要完成操作,然后才将响应返回给用户。
如果我们想从服务器获取数据,Node和PHP都将从数据库中查询数据,等到数据检索完成后再将答案返回给用户。这意味着客户无论如何都需要等待。
那么“非阻塞”的未来有什么好处?
答案 0 :(得分:2)
使用节点,单个线程处理对应用程序的所有请求,而不仅仅是一个请求。这是事件循环和异步逻辑发挥作用的地方。没有它,node.js一次只能处理一个请求。有了它,node.js可以接受请求,向数据库发送数据请求,然后在等待数据返回时,接受另一个请求并处理它。
答案 1 :(得分:1)
当您想要一次为用户执行几个请求/使用websockets
时,节点异步会很方便