在事务上下文之外调用 redis 命令

Call a redis command outside of transaction context

是否可以在事务上下文之外调用 predis 命令?我的意思是在交易打开时执行 hget 或 hexist

不,这不可能。 Transaction started with (MULTI) works in per connection pipeline. So you should DISCARD/EXEC 首先或使用另一个 predis 连接到 Redis 服务器。

可以,但不能在同一个连接上。

这是一个将 foo2 值复制到 foo 的事务,foo2 由第二个连接读取:

$responses = $client1->transaction()->set('foo', $client2->get('foo2'))->get('foo')->execute();