带有事件驱动程序的Redis multi / exec

| 如何在像
em-hiredis
(使用EventMachine的Ruby驱动程序)这样的事件Redis驱动程序中使用
MULTI
/
EXEC
(和
WATCH
)?如果我运行:
redis.multi do
  redis.sadd(\"foo\", \"bar\") do
    redis.inc(\"baz\", \"qux\") do
      redis.exec do
        puts \'yay!\'
      end
    end
  end
end
如果发生了很多事情,应用程序的其他部分很有可能设法在sneak1之前进行操作(例如,假设我有一个计时器,它每秒会增加一些键,并且上面的代码运行需要一秒钟以上的时间,然后某些增量命令将作为
MULTI
/
EXEC
的一部分发送-如果我想中止该事务该怎么办?然后,碰巧成为该事务一部分的任何增量都将消失。很容易想到更糟的情况)。 我想我可以实现某种锁定,以便在执行
MULTI
/
EXEC
时无法执行其他任何操作,但这似乎不是一个很好的解决方案,还有其他人找到更好的方法了吗?     
已邀请:
正如@balu在对该问题的评论中所述,没有多个连接就无法完成。     

要回复问题请先登录注册