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

时间:2016-01-12 11:42:56

标签: php redis predis

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

2 个答案:

答案 0 :(得分:2)

不,这是不可能的。 Transaction以(MULTI)开头,适用于每个连接管道。因此,您应首先DISCARD / EXEC或使用与Redis服务器的其他predis连接。

答案 1 :(得分:0)

你可以这样做,但不能在同一个连接上。

以下是将foo2值复制到foo的交易,foo2由第二个连接读取:

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