fre*_*ish 2 database storage locking redis node.js
我有以下问题:我使用Redis的用的NodeJS在一起,通过mranney的司机和我的web服务器的NodeJS在检索从Redis的一些数据,就可以做一些操作,节省回Redis的.但是这个操作(称之为X)可能需要一段时间,因此多个用户可以在同一资源上同时触发它.
因此,如果用户A触发X并且用户B同时触发X,我希望用户A完成作业,然后用户B获取(已处理)数据并执行X.同时用户B等待.用户的顺序是无关紧要的 - 只有一次一个.那么如何在我的场景中实现这一目标呢?如何锁定/解锁Redis?它甚至可能吗?
有几种方法可以在Redis中实现锁定,而不需要了解更多关于它听起来SETNX会起作用的场景.请参阅Redis文档中的设计模式:锁定SETNX.此外,Redis中的交易可能是有趣的阅读,虽然我怀疑它并不完全是你在这种情况下所追求的.