Como posso ler a partir do Redis dentro de um bloco MULTI em Ruby?
Estou encapsulando um conjunto complicado de comandos do Redis em uma transação MULTI, mas a lógica na transação depende dos valores já no Redis. Mas todas as leituras dentro de uma transação parecem retornarnil
Aqui está um exemplo que demonstra o problema:
[Dev]> $redis.set("foo", "bar")
=> "OK"
[Dev]> $redis.multi{ $redis.set("foo", "baz") if $redis.get("foo") == "bar" }
=> ["bar"]
[Dev]> $redis.get("foo")
=> "bar"
Obviamente, eu quero que o último valor de retorno seja'baz'
- como posso conseguir isso?