2017-03-15 58 views
0

我正在计划使用Node JS构建一个应用程序,该应用程序从postgresql数据库中存储和检索其数据。我担心的是,随着应用程序规模的扩大,我会遇到数据库上的查询争用问题?如果我可能有一打或更多的Node JS实例与数据库交谈,一次更新不同的表和字段,最终某处会发生碰撞。我怎样才能防止这种情况发生,或者减轻这种情况的最好方法是什么?节点js和postgresql查询锁?

回答

0

...一次更新不同的表和字段,最终某处会发生碰撞。如何防止这种情况发生

对于那个PostgreSQL支持database transactionslocks

+0

虽然值得警告关于死锁。对于外行来说,当一个进程在表A上获得一个锁时发生死锁,并在那里执行一些重载处理。同时,另一个进程对表B进行锁定。第一个进程需要访问表B,因此它开始等待。第二个过程然后转向需要表A.这两个过程都可以继续,直到另一个过程完成。 Postgres检测到这一点,并杀死这两个进程。如果两个交易处于交易状态,则回滚交易。 – Scoots

+0

@Scoots没有破坏者! ;) –

+0

惊人的答案!谢谢 ! – neatoh80