在node.js中实现互斥
我想在node.js应用程序中实现一个互斥体,下面是wiki中的互斥体在node.js中实现互斥,node.js,mutex,Node.js,Mutex,我想在node.js应用程序中实现一个互斥体,下面是wiki中的互斥体 这个主题有现成的模块吗?如果没有,有什么想法可以帮助我实现吗?有很多方法可以实现这一点。两种简单的方法是通过Redis或Zookeeper服务器。Node.js对于这两个模块都有非常好的模块 在Redis中,您可以使用+命令来实现锁定。在Zookeeper中,可以创建临时节点。在这两种情况下,没有两个进程会同时执行关键操作 我最近在一个模块中实现了Redis方法,该模块是我们生产应用程序的关键部分,我们需要确保没有两个过程在
这个主题有现成的模块吗?如果没有,有什么想法可以帮助我实现吗?有很多方法可以实现这一点。两种简单的方法是通过Redis或Zookeeper服务器。Node.js对于这两个模块都有非常好的模块 在Redis中,您可以使用+命令来实现锁定。在Zookeeper中,可以创建临时节点。在这两种情况下,没有两个进程会同时执行关键操作 我最近在一个模块中实现了Redis方法,该模块是我们生产应用程序的关键部分,我们需要确保没有两个过程在Redis中增加相同的价值。有关详细信息,请参阅和。事实上,代码很容易理解和阅读 有关Zookeeper示例,请参阅。对于带有临时节点的分布式锁,可以实现更复杂的逻辑。Redis解决方案只是一个特例,如果您不需要更多的解决方案,它将非常有效
使用这两种方法,您可以为任何应用程序和任何逻辑实现互斥体。为什么在nodejs中需要互斥体?它还是以单线程的方式执行代码。或者您想要跨进程互斥体?用于文件I/O互斥体,例如从多个线程访问文件,您可以按照此线程中的建议使用