【问题标题】:Redis store (or any database?) lock mechanism (NodeJS)Redis 存储(或任何数据库?)锁定机制(NodeJS)
【发布时间】:2012-02-29 10:31:48
【问题描述】:

我有以下问题:我通过mranney's driver 一起使用RedisNodeJS,我的NodeJS 网络服务器正在从Redis 检索一些数据,对其进行一些操作并将其保存回Redis。但此操作(称为 X)可能需要一段时间,因此多个用户可以在同一资源上同时触发它。

因此,如果用户 A 触发 X 并且用户 B 同时触发 X,我希望用户 A 完成工作,然后用户 B 获取(处理过的)数据并执行 X。与此同时,用户 B 等待。用户的顺序无关紧要——一次只有一个。那么如何在我的场景中实现这一点?如何锁定/解锁 Redis?有可能吗?

【问题讨论】:

    标签: database node.js locking redis storage


    【解决方案1】:

    有几种方法可以在 Redis 中实现锁定,在不了解更多场景的情况下,听起来 SETNX 会起作用。请参阅 Redis 文档中的 Design pattern: Locking with SETNX。此外,transactions in Redis 可能会很有趣,尽管我怀疑在这种情况下这并不是您所追求的。

    【讨论】:

    • 很好的链接!我想这正是我需要的!我已经知道交易,但找不到任何关于锁定的信息。非常感谢你。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 2019-07-03
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多