Как я могу читать из Redis внутри блока MULTI в Ruby?
Я инкапсулирую сложный набор команд Redis в MULTI-транзакцию, но логика в транзакции зависит от значений, уже имеющихся в Redis. Но все операции чтения внутри транзакции, похоже, возвращаютсяnil
Вот пример, который демонстрирует проблему:
[Dev]> $redis.set("foo", "bar")
=> "OK"
[Dev]> $redis.multi{ $redis.set("foo", "baz") if $redis.get("foo") == "bar" }
=> ["bar"]
[Dev]> $redis.get("foo")
=> "bar"
Очевидно, я хочу, чтобы последнее возвращаемое значение было'baz'
& # X2013; как я могу этого достичь?