同步与异步数据库访问

Lou*_*uis 10 javascript asynchronous node.js

我想开发一个复杂的游戏,可能有数千个函数和数据库调用.

我想知道是否真的有必要在异步中进行数据库查询.编写代码很麻烦,我的所有函数都需要使用回调而不是clean return方法.这是正常的做法吗?

考虑到MySQL数据库一次处理一个查询,是否真的更快地将这些调用编码为异步?

Joa*_*son 12

除非最近在Node.JS中发生了巨大的变化,否则你几乎不得不使用异步数据库访问来扩展,因为所有用户请求都将在一个线程上执行,并且同步等待数据库将真正降低性能.如果一个用户执行缓慢操作,则所有其他用户将不得不等到完成.

Node.JS实际上是为异步事件驱动的流程而构建的,使用它可以获得更好的性能而不是解决它.


Nit*_*mer 5

异步请求并不比同步请求快,不管你怎么做,它们仍然做同样的事情。唯一改变的是你是否阻止了请求。

当您使用同步方法时,发出请求的方法将停止执行以等待请求的返回,只有当它通过时才会继续执行。虽然在使用异步请求时,不需要等待请求完成,您可以继续,完成后将调用回调。

另一件事是,当应用程序对 dbms 进行大量调用时,通常数据库是瓶颈,因此您可能需要考虑使用缓存来减少从 dbms 加载。