Wie kann ich aus Redis in einem MULTI-Block in Ruby lesen?

Ich kapsle einen komplizierten Satz von Redis-Befehlen in eine MULTI-Transaktion, aber die Logik in der Transaktion hängt von Werten ab, die bereits in Redis vorhanden sind. Aber alle Lesevorgänge innerhalb einer Transaktion scheinen zurückzukehrennil

Hier ist ein Beispiel, das das Problem veranschaulicht:

[Dev]> $redis.set("foo", "bar")
=> "OK"
[Dev]> $redis.multi{ $redis.set("foo", "baz") if $redis.get("foo") == "bar" }
=> ["bar"]
[Dev]> $redis.get("foo")
=> "bar"

Natürlich möchte ich den letzten Rückgabewert haben'baz' - wie kann ich das erreichen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage