2016-01-12 3 views
0

Можно ли вызвать команду predis вне контекста транзакции? Я имею в виду exec hget или hexist при открытии транзакцииВызвать команду redis за пределами контекста транзакции

+1

Похоже, вы должны использовать сценарий Lua вместо ТХ - вы можете читать и записывать данные в script –

ответ

2

Нет, это невозможно. Transaction, начинающийся с (MULTI), работает в каждом соединительном трубопроводе. Таким образом, вы должны DISCARD/EXEC сначала или использовать другое соединение predis с сервером Redis.

0

Вы можете сделать это, но не в том же соединении.

Вот сделка, которая копирует foo2 значение foo, foo2 читается второе соединение:

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

Что нового добавляет ваш ответ? – misterion

+0

@misterion, я выполняю вызов redis, пока транзакция все еще открыта. Я думаю, что это то, чего хотел OP. –

Смежные вопросы