特定 key/id 上的互斥
Mutex on specific key/id
我在这里问是因为我无法很好地表达自己 Google 无法理解。
是否存在允许您在特定 key/id 上获取互斥锁的打字稿节点模块?
在我的项目中,我正在使用一个带有版本控制的数据库,它强制我在更新它时使用互斥锁。如果两个线程同时更新同一个条目,则会发生版本错误。互斥锁解决了这个问题,但造成了巨大的瓶颈。只有对同一条目的更新才需要互斥锁,但我当前的实现对数据库的所有更新都使用相同的互斥锁。一种解决方案是某种可以锁定某个 key/id 的互斥锁,其中不同键上的锁可以同时执行,但同一键上的多个锁被迫一个接一个地执行。因此我上面的问题。
我最终发现“async-lock”可以满足我的要求,可以通过 npm 安装。虽然没有信号量。
我在这里问是因为我无法很好地表达自己 Google 无法理解。
是否存在允许您在特定 key/id 上获取互斥锁的打字稿节点模块?
在我的项目中,我正在使用一个带有版本控制的数据库,它强制我在更新它时使用互斥锁。如果两个线程同时更新同一个条目,则会发生版本错误。互斥锁解决了这个问题,但造成了巨大的瓶颈。只有对同一条目的更新才需要互斥锁,但我当前的实现对数据库的所有更新都使用相同的互斥锁。一种解决方案是某种可以锁定某个 key/id 的互斥锁,其中不同键上的锁可以同时执行,但同一键上的多个锁被迫一个接一个地执行。因此我上面的问题。
我最终发现“async-lock”可以满足我的要求,可以通过 npm 安装。虽然没有信号量。